<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Davis R Users Group</title>
    <description>Website for the Davis R Users Group
</description>
    <link>https://d-rug.github.io//</link>
    <atom:link href="https://d-rug.github.io//feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Wed, 07 Jan 2026 17:45:42 +0000</pubDate>
    <lastBuildDate>Wed, 07 Jan 2026 17:45:42 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>Discussion: software engineering practices in R</title>
        <description>&lt;p&gt;&lt;strong&gt;We discussed the value of and our experience with software engineering methods in R&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The discussion was guided by our reading of a paper in The R Journal:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://journal.r-project.org/articles/RJ-2021-108/&quot;&gt;Software Engineering and R Programming: A Call for Research&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As a group, we agreed that we are R users more than R developers. A few of us have written packages before, but we all recognize that we do the bad practices listed in the paper, like copying functions, naming files like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;xxx-analysis-final2.R&lt;/code&gt;, and commenting out blocks of code but never going back to clean them up, and making comments like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;#TODO: fix me&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Several folks are new to writing package documentation, and almost none of us have used unit tests. Nobody in the group has adopted a software development paradigm (Kanban, Extreme Programming, etc.) for their development process.&lt;/p&gt;

&lt;p&gt;There was some debate over whether it is worth adopting best practices for code that is meant for our own personal use. We are going to make a series of this, reading the followup commentaries (&lt;a href=&quot;https://journal.r-project.org/articles/RJ-2021-109/&quot;&gt;there&lt;/a&gt; &lt;a href=&quot;https://journal.r-project.org/articles/RJ-2021-110/&quot;&gt;are&lt;/a&gt; &lt;a href=&quot;https://journal.r-project.org/articles/RJ-2021-111/&quot;&gt;four&lt;/a&gt; &lt;a href=&quot;https://journal.r-project.org/articles/RJ-2021-112/&quot;&gt;comments&lt;/a&gt;), and covering topics from the paper in our upcoming mini-workshops.&lt;/p&gt;
</description>
        <pubDate>Wed, 12 Oct 2022 00:00:00 +0000</pubDate>
        <link>https://d-rug.github.io//blog/2022/software-engineering-in-r</link>
        <guid isPermaLink="true">https://d-rug.github.io//blog/2022/software-engineering-in-r</guid>
        
        <category>D-RUG</category>
        
        <category>R</category>
        
        <category>presentations</category>
        
        <category>roxygen</category>
        
        <category>roxygen2</category>
        
        
      </item>
    
      <item>
        <title>Liza Wood: Package creation using roxygen2</title>
        <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Liza shows us how to create an R package and write its documentation using Roxygen2&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://d-rug.github.io/packages_with_roxygen2/&quot;&gt;Live Code from presentation as separate script&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Liza’s script shows how to make an R package for your favorite function(s) and distribute it via Github. The process, in brief:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Use the &lt;a href=&quot;https://devtools.r-lib.org&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;devtools&lt;/code&gt; package&lt;/a&gt; to create a blank project directory from a template.&lt;/li&gt;
  &lt;li&gt;Put each function into a script in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;R&lt;/code&gt; folder of the project directory.&lt;/li&gt;
  &lt;li&gt;Decorate each function script with &lt;a href=&quot;https://roxygen2.r-lib.org&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;roxygen2&lt;/code&gt;-style documentation&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Run the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;devtools::document()&lt;/code&gt; function to generate the package documentation.&lt;/li&gt;
  &lt;li&gt;Fill in the template &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DESCRIPTION&lt;/code&gt; file&lt;/li&gt;
  &lt;li&gt;Create a Github repository and push the package to it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now anyone can load your package directly from Github and use the R functions you’ve created!&lt;/p&gt;
</description>
        <pubDate>Wed, 05 Oct 2022 00:00:00 +0000</pubDate>
        <link>https://d-rug.github.io//blog/2022/Liza-Wood-package-creation-roxygen2</link>
        <guid isPermaLink="true">https://d-rug.github.io//blog/2022/Liza-Wood-package-creation-roxygen2</guid>
        
        <category>D-RUG</category>
        
        <category>R</category>
        
        <category>presentations</category>
        
        <category>roxygen</category>
        
        <category>roxygen2</category>
        
        
      </item>
    
      <item>
        <title>Liza Wood: Writing functions and iteration</title>
        <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Liza showed us her system of developing functions and using them with iteration to get more done with fewer lines of code.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://d-rug.github.io/realworld_functions_iteration/&quot;&gt;Live Code from presentation as separate script&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 29 Sep 2022 00:00:00 +0000</pubDate>
        <link>https://d-rug.github.io//blog/2022/Liza-Wood-writing-functions</link>
        <guid isPermaLink="true">https://d-rug.github.io//blog/2022/Liza-Wood-writing-functions</guid>
        
        <category>D-RUG</category>
        
        <category>R</category>
        
        <category>presentations</category>
        
        
      </item>
    
      <item>
        <title>Taylor Reiter: Intro to ggplot2</title>
        <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Taylor continued an introductory ggplot lesson, going through titling plots, adding labels, and using plotly to make interactive plots.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://gist.github.com/taylorreiter/6a4a92b584e4e9aa122989a41d85c22b&quot;&gt;Live Code from presentation as separate script&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://youtu.be/A0LD0gCZWFo&quot;&gt;Link to the YouTube lesson recording&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 20 Feb 2020 12:00:00 +0000</pubDate>
        <link>https://d-rug.github.io//blog/2020/Taylor-Reiter-intro-ggplot2-part-2</link>
        <guid isPermaLink="true">https://d-rug.github.io//blog/2020/Taylor-Reiter-intro-ggplot2-part-2</guid>
        
        <category>D-RUG</category>
        
        <category>R</category>
        
        <category>presentations</category>
        
        <category>ggplot</category>
        
        
      </item>
    
      <item>
        <title>Taylor Reiter: Intro to ggplot2</title>
        <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;Taylor gave us an introduction to ggplot, showing us the basic syntax of ggplot, how to modify plot elements like color or transparency, and how to try out different visualizations for your data.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.dl.dropboxusercontent.com/s/jex9nlslwq5c7oh/2020_02_06_intro_to_ggplot_interation.R?dl=0&quot;&gt;Live Code from presentation as separate script&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=qQy8vw43kl0&amp;amp;feature=youtu.be&quot;&gt;Link to the YouTube lesson recording&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 06 Feb 2020 12:00:00 +0000</pubDate>
        <link>https://d-rug.github.io//blog/2020/Taylor-Reiter-intro-ggplot2</link>
        <guid isPermaLink="true">https://d-rug.github.io//blog/2020/Taylor-Reiter-intro-ggplot2</guid>
        
        <category>D-RUG</category>
        
        <category>R</category>
        
        <category>presentations</category>
        
        <category>ggplot</category>
        
        
      </item>
    
  </channel>
</rss>
