R processes are basically a collection of R functions that create and read R objects until the final object is created.  The output of the first R function is the input to the second R function.  Output of the second R function is input to the third R function.  In the diagram below, this continues to the fifth outer R function.  This means that R functions are used to access, manage, transform and then summarize data.  In addition, because of this unique software architecture, R functions can have multiple nested levels. 


R programming is unique since R objects store data which must be valid data types so that R functions can be applied to create new R objects.  So, in a sense, given the software’s unique architecture the prior level of data within an object must be fully validated in order to advance to the next level of data contained within the subsequent object.  With symbols, direct references can be made to variables as independent objects.  This makes R programming more flexible.  Along with R base, tidyverse and ggplots are popular R packages.  

There are useful metadata type R functions to describe data frames.  Information from R functions display data frame variable names, number of records, sample records as well as unique frequency counts and descriptive statistics. The ‘<-’ symbol assigns the tg object the contents of the ToothGrowth data frame.  All R functions in the remaining statements process the tg data frame.  Any text after the ‘#’ symbol are comments so ignored by R.  These R examples show how R objects are processed by R functions.  Simple one function call performs specific tasks.  For any of these R functions since the ‘<-’ symbol is not applied, the results are displayed instead of being saved to another R object. 

R Extensions

  • .r, R program
  • .RDS, R data frame
  • .Rdata, R image of all objects
  • .Rmd, R Markdown file 

Below links are for R and Tidy R package programming styles as well as R programming for beginners.

R Programming Style   Tidy Programming Style   Basic Concepts for Beginners

Powered by Wild Apricot Membership Software