R-Guru Smile design: how to one in SIlhouette Studio ยป Smart Silhouette Resource Hub

  • Home
  • Compare with SAS

Master R by Comparing with SAS (Join Us)


This section discusses the similarities and differences between SAS and R.  While most everything from SAS can be replicated in R, there is a steep learning curve since R concepts and process flow are more object oriented. R has meanings for special characters such as [], {} and () for example.  In addition, most of R syntax consists of functions which are similar to SAS functions and macro programs. So, knowing how to call SAS functions and macros will help to understand, write and execute R functions.  Like SAS macro programs, R functions can have positional, keyword and default parameters. See list of R packages install in SAS LSAF.

Few SAS and similar R terms are listed below. 

  • SAS                                                           R
  • non-vector based language                vector based language
  • syntax is not case-sensitive                 syntax and data frame names and variables are case-senstive
  • missing data (., '')                                   NA
  • disk storage                                            memory storage

  • round to 2.5 to 3                                   round 2.5 to 2 (round .5 to nearest even number)
  • sort missing first                                   sort NA last 
  • operators: =, and, or                             operators: ==, &, |
  • * comments;                                          # comments
  • /* */ to comment block of code         if(FALSE) { R syntax across multiple lines to comment }
  • end of command ';'                               NA 
  • data set                                                   data frame
  • observations #                                       rownames()
  • data set options ()                                 data frame options []
  • label                                                        Hmisc::label()
  • variable                                                   vector
  • types: numeric, character, date         numeric, character, date
  • N/A                                                          list variable type
  • modules, procs & functions                R packages and functions (ex. tidyverse)
  • data steps: retain, if then, vr=, by        any(), ifelse(), mutate(), group() to replicate
  • output                                                       not easily to replicate
  • first., last.                                                  slice(1), slice(n()) 
  • do loops, arrays                                      for loops with data frame index references
  • proc sql                                                    dplyr: select(), mutate(), filter(), case_when(), arrange(), group_by(), %>%
  • left join, right join, inner join, full outer join         left_join(), right_join(), inner_join(), full_join()

  • subqueries                                              mutate(), summarize(), left_join() to replicate
  • proc print                                                 print()
  • proc freq                                                  tables()
  • proc means                                             summarize() 
  • proc contents                                         Hmisc: contents()
  • proc compare                                         diffdf()
  • proc sort, nodup                                    arrange(), group_by_all() 
  • proc transpose                                       pivot_longer(), pivot_wider()
  • functions                                                  R functions
  • min, max, mean, sum, median, std     min, max, mean, sum, median, sd

  • lowcase()                                                  tolower()

  • upcase()                                                    toupper()
  • lag(), lead()                                               lag(), lead()
  • tranwrd()                                                  str_replace_all()

  • strip()                                                        str_trim()
  • compress()                                               str_extract()
  • find()                                                         str_detect()

  • substr()                                                     str_sub()
  • catx()                                                         paste()

  • scan()                                                        strsplit()
  • index()                                                      grep()
  • input()                                                      as.numeric()
  • put()                                                         as.character()
  • length()                                                     nchar() 
  • count()                                                      count
  • macro programs                                     R functions and user defined functions
  • macro variables                                       vectors with one or more values
  • ODS                                                           R Markdown
  • Logs                                                           logrx

R has SQL query components that enable filter records, subset variables and summary processing.  Finally, R processes functions as a collection of independent sequence of steps.  So, for example, variables can be created one-by-one with left variable assignments or combined when wrapped in a R function. 

     Reach for R Low Hanging Fruit for Faster Results


Similar to SAS, R functions resemble many features of the Data Step.


            





Section Objectives

  • Know how to apply SQL methods in R programming
  • Understand the difference between SAS macros and R programming
  • Know how to apply Tidyverse Package 

                     


Powered by Wild Apricot Membership Software