1 / 66

Welcome to the R intro Workshop

Welcome to the R intro Workshop. Before we begin, please download the “SwissNotes.csv” and “cardiac.txt” files from the ISCC website, under the R workshop (more info). www.iub.edu/~iscc. Introduction to R Workshop in Methods from the Indiana Statistical Consulting Center. Thomas A. Jackson

cosmo
Download Presentation

Welcome to the R intro Workshop

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Welcome to the R intro Workshop Before we begin, please download the “SwissNotes.csv” and “cardiac.txt” files from the ISCC website, under the R workshop (more info). www.iub.edu/~iscc

  2. Introduction to RWorkshop in Methods from theIndiana Statistical Consulting Center Thomas A. Jackson February 15, 2013

  3. Overview The R Project for Statistical Computing http://cran.r-project.org “R is a language and environment for statistical computing and graphics. It is a GNU project which is similar to the S language and environment which was developed at Bell Laboratories (formerly AT&T, now Lucent Technologies) by John Chambers and Colleagues. R can be considered as a different implementation of S. There are some important differences, but much code written for S runs unaltered under R.” - Description from CRAN Website

  4. Benefits R … • is free • is interactive: we can type something in and work with it • How we analyze data can be broken into small steps • is interpretative: we give it commands and it translates them into mathematical procedures or data management steps • can be used in a batch: nice because it is documented • is a calculator: it is unlike other calculators though because you can create variables and objects

  5. Let’s Get R Started • How to open R → Start Menu → Programs → Departmentally Supported → Stat/Math → R

  6. Graphical User Interface (GUI) Three Environments • Command Window (aka Console) • Script Window • Plot Window

  7. Command Window Basics To quit: type q() Save workspace image? Moves from memory to hard-drive Storing variable in memory • <- , -> , or = • a<- 5 stores the number 5 in the object “a” • pi -> b stores the number π= 3.141593 in “b” • x= 1 + 2 stores the result of the calculation (3) in “x” • “=“ requires left-hand assignment Try not to overwrite reserved names such as t, c, and pi!

  8. Command Window Basics Printing to output • Calculations that are not stored print to output > 3 + 5 [1] 8 • Type name to view stored object > a [1] 5 • Use print() > print(a) [1] 5 View objects in workspace • objects() or ls()

  9. Command Window Basics Clearing the console (command window) • Mac: Edit → Clear Console • Windows: Edit → Clear Console or • Mac: Alt + Command + L • Windows: Ctrl + L Removing variables from memory • rm() or remove() > x <- 4 > rm(x) • rm(list = ls()) remove all variables

  10. Script Window Basics Saving syntax (code) • Mac: File → New • Windows: File → New Script Documenting code: # Comments out everything on line behind Running code from Script Window • Mac: Apple + Enter • Windows: F5 or Ctrl + r

  11. Working Directory Obtaining working directory • getwd() • Mac: Misc → Get Working Directory • Windows: File → Change dir... Changing working directory • setwd() • Mac: Misc → Change Working Directory • Windows: File → Change dir...

  12. Path Names Specify with forward slashes or double backslashes Enclose in single or double quotation marks Examples • setwd(“C:/Program Files/R/R-2.6.1”) • setwd(‘C:\\Program Files\\R\\R-2.6.1’)

  13. R Help Helpful commands • If you know the function name: help() or ? > help(log) > ?exp • If you do not know the function name: help.search() or ?? > help.search(“anova”) > ??regression

  14. Documentation Elements of a documentation file • Function{Package} • Description • Usage: What your code should look like, “=“ gives default • Arguments: Inputs to the function • Details • Value: What the function will return • See Also: Related functions • Examples

  15. Online Resources • CRAN Website: http://cran.r-project.org/ • R Seek: http://www.rseek.org/ • Quick-R tutorial: http://www.statmethods.net/ • R Tutor: http://www.r-tutor.com/ • UCLA: http://www.ats.ucla.edu/stat/r/ • R listservs • Google Google tip: include “[R]” (instead of just “R”) with search topic to help filter out non-R websites

  16. Additional Packages Over 2,500 listed on the CRAN website! • Use with caution • Initial download of R: base, graphics, stats, utils 1) Installing a package: • Mac: Packages & Data → Package Installer Use Package Search to locate and press ‘Install Selected’ • Windows: Packages → Install Packages Locate desired package and press ‘OK’ • install.packages(“MASS”) 2) Using an installed package: You MUST call it into active memory with library() > library(MASS)

  17. Data Structures R has several basic types (or “classes”) of data: • Numeric - Numbers • Character – Strings (letters, words, etc.) • Logical – TRUE or FALSE • Vector • Matrix • Array • Data Frame • List NOTE: There are other classes, but these are most common. Understanding differences will save you some headache.

  18. Data Structures • Find class of data • Unknown class: class() • Check particular class: is.“classname”() > a <- 5 > class(a) [1] “numeric” > is.character(a) [1] FALSE Change class: as.classname() > as.character(a) [1] “5”

  19. Vectors Combine items into vector: c() > c(1,2,3,4,5,6) [1] 1 2 3 4 5 6 Repeat number of sequence of numbers: rep() > rep(1,5) [1] 1 1 1 1 1 > rep (c(2,5,7), times = 3) [1] 2 5 7 2 5 7 2 5 7

  20. Vectors Sequence generation: seq() > seq(1,5) [1] 1 2 3 4 5 > seq(1,5, by = .5) [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 Try 1:10 or 10:1

  21. Matrices Create matrix: matrix() • 6 x 1 matrix: matrix(1:6, ncol = 1) • 2 x 3 matrix: matrix(1:6, nrow =2, ncol =3) • 2 x 3 matrix filling across rows first: matrix(1:6, nrow = 2, ncol = 3, byrow = TRUE) Create matrix of more than two dimensions (array): array()

  22. Lists Create a list: list() • Holds vectors, matrices, arrays, etc. of varying lengths • Objects in the list can be named or unnamed > list(matrix(0, 2, 2), y = rep(c(“A”, “B”), each = 2)) [[1]] [,1] [,2] [1,] 0 0 [2,] 0 0 $y [1] “A” “A” “B” “B” Data Frame: specialized list that holds variables of same length

  23. Data Frames Create a data frame: data.frame() • Like a matrix, holds specified number of rows and columns > x <- 1:4 > y <- rep(c(“A”, ”B”), each = 2) > data.frame(x,y) x y 1 1 A 2 2 A 3 3 B 4 4 B • Unnamed variables get assigned names > data.frame(1:2, c(“A”, “B”)) X1.2 c..A….B.. 1 1 A 2 2 B

  24. Basic Operations • Arithmetic: +, -, *, / • Order of operations: () • Exponentiaition: ^, exp() • Other: log(), sqrt • Evaluate standard Normal density curve, at x = 3 > x <- 3 > 1/sqrt(2*pi)*exp(-(x^2)/2) [1] 0.004431848

  25. Vectorization R is great at vectorizing operations • Feed a matrix or vector into an expression • Receive an object of similar dimension as output For example, evaluate at x = 0,1,2,3 > x <- c(0,1,2,3) > 1/sqrt(2*pi)*exp(-(x^2)/2) [1] 0.39842280 0.241970725 0.053990967 0.004431848

  26. Logical Operations • Compare: ==, >, <, >=, <=, != > a <- c(1,1,2,4,3,1) > a == 2 [1] FALSE FALSE TRUE FALSE FALSEFALSE • And: & or && • Or: | or || • Find location of TRUEs: which() > which(a == 1) [1] 1 2 6

  27. Subsetting > a <- 1:5 > b <- matrix(1:12,nrow = 3) Use Square brackets [] • Pick range of elements: a[1:3] • Pick particular elements: a[c(1,3,5)] • Do not include elements: a[-c(1,4)]

  28. Subsetting (cont.) Use commas in more than on dimension (matrices & data frames) • Pick particular elements: B[1:2,2:4] • Give all rows and specified columns: B[,1:2] • Give all columns and specified rows: B[1:2,] • Note: B[2] coerces into a vector then gives specified element

  29. Reading External Data Files SwissNotes.csv Data set • Complied by Bernard Flury • Contains measurements on 200 Swiss Bank Notes • 100 genuine and 100 counterfeit notes

  30. Reading External Data Files (cont.) Most general function: read.table() read.table(file,header=FALSE,sep = “”,…) • Creates a data frame • File name must be in quotes, single or double • File name is case sensitive • Include file name extension if data not in working directory > read.table(“C:/Users/jacksota/Desktop/SwissNotes.csv”,T,“,”) Don’t know the file extension? Try: file.choose() > read.table(file.choose(), header = TRUE, sep = ”,”) • sep defines the separator, e.g. “,” or “\t” or “” • header indicates variable names should be read from first row

  31. Reading External Data Files For comma delimited files: read.csv() For tab delimited files: read.delim() For Minitab, SPSS, SAS, STATA, etc. data: foreign package • Contains functions to read variety of file formats • Functions operate like read.data() • Contains functions for writing data into these file formats

  32. Data Frame Hints • Identify variable names in data frame: names() > data1 <- read.table(“SwissNotes.csv”, sep=“,”, header =TRUE) > names(data1) [1] “Length” “LeftHeight” “RightHeight” “LowerInner.Frame” [5] “UpperInner.Frame” “Diagonal” “Type” Assign name to data frame variables > names(data1) <- c(“Length”, “LeftHeight”, “RightHeight”, “LowerInner..Frame”, “UpperInner.Frame”, “Diagonal”, “Type”) Note: names are strings and MUST be contained in quotes

  33. Data Frame Hints (cont.) Create objects out of each data frame variable: attach() In the Swiss Note data, to refer to Type as its own object > attach(data1) > Type [1] Genuine GenuineGenuine ….

  34. Data Frame Hints (cont.) Remove attached objects from workspace: detach() > detach(data1) > Type Error: object “Type” not found Note: Type is still part of original data frame, but is no longer a separate object.

  35. plot() function plot() is the primary plotting function Calling plot will open a new plotting window Documentation: ?plot For complete list of graphical parameters to manipulate: ?par

  36. plot() function Let’s visualize the SwissNotes.csv data. After loading the data into R, attach the data frame using attach(data). Let’s try a scatter plot of LeftHeight by RightHeight. >plot(LeftHeight, RightHeight)

  37. plot() function Change symbols: Option pch=. See ?par for details. >plot(LeftHeight,RightHeight,pch=2)

  38. plot() Function Change symbol color: Option col= Specify by number or by name: col=2 or col=“red” Hint: Type palette() to see colors associated with number Type colors() to see all possible colors > plot(LeftHeight, RightHeight, col=“red”)

  39. What types of points can we get?

  40. plot() Function Change plot type: Option type = “p” for points “l” for lines “b” for both “c” for lines part alone of “b” “o” for both overplotted “h” for histogram like (or high-density) vertical lines “s” for stair steps “S” for other steps, see Details below “n” for no plotting

  41. Plot() Function Points with lines…works better on sorted list of points >plot(LeftHeight,RightHeight,type=“o”)

  42. Scatterplots for Multiple Groups Use plot() with points() to plot different groups in same plot Genuine notes vs. Counterfeit notes >plot(LeftHeight[Type==“Genuine”],Rightheight[Type==“Genuine”], col=“red”) >points(LeftHeight[Type==“Counterfeit”],RightHeight[Type==“Counterfeit”] ,col=“blue”)

  43. Axis Labels and Plot Titles The plot() command call has options to • Specify x-axis label: xlab = “X Label” • Specify y-axis label: ylab = “Y Label” • Specify plot title: main = “Main Title” • Specify subtitle: sub = “Subtitle”

  44. Axis Labels and Plot Titles >plot(LeftHeight[Type==”Genuine”],RightHeight[Type==“Genuine”], col=“red”,main=“Plot of Bank Note Heights”,sub=“Measurements are in mm”,xlab=“Height of Left Side”,ylab=“Height of Right Side”) >points(LeftHeight[Type==“Counterfeit”], RightHeight[Type=“Counterfeit”],col=“blue”)

  45. Legends • legend(“topleft”,c(“Genuine Notes”, ”Counterfeit Notes”),pch=c(21,21),col=c(“red”,”blue”))

  46. Adding Lines To add straight lines to plot: abline() abline() refers to standard equation for a line: y = bx + a • Horizontal line: abline(h= ) • Vertical Line: abline(v= ) • Otherwise: abline(a= , b= ) or abline(coef=c(a,b))

  47. Adding Lines > abline(coef=c(21.7104,0.8319))

  48. Histograms Histograms are another popular plotting option. > hist(Length)

  49. pairs() Function Using the SwissNote Data > pairs(swiss)

More Related