Download presentation

Presentation is loading. Please wait.

1
R tutorial http://people.musc.edu/~elg26/teachin g/methods2.2010/R-intro.pdf

2
Installing R http://cran.r-project.org/ http://cran.r-project.org/ Choose appropriate interface windows Mac Linux Follow install instructions

3
R interface batching file: File -> open script run commands: Ctrl-R Save session: sink([filename])….sink() Quit session: q()

4
General Syntax result <- function(object(s), options…) function(object(s), options…) Object-oriented programming Note that ‘result’ is an object

5
First things first: help([function]) help.search(“linear model”) help.start()

6
Choosing your default setwd(“[pathname for directory]”) need “\\” instead of “\” when giving paths .Rdata .Rhistory

7
Start with data read.table read.csv scan dget

8
Extracting variables from data Use $: data$AGE note it is case-sensitive! attach([data]) and detach([data])

9
Descriptive statistics summary mean, median var quantile range, max, min

10
Missing values sometimes cause ‘error’ message na.rm=T na.option=na.omit

11
Objects data.frame, as.data.frame, is.data.frame names([data]) row.names([data]) matrix, as.matrix, is.matrix dimnames([data]) factor, as.factor, is.factor levels([factor]) arrays lists functions vectors scalars

12
Creating and manipulating combine: c cbind: combine as columns rbind: combine as rows list: make a list rep(x,n): repeat x n times seq(a,b,i): create a sequence between a and b in increments of i seq(a,b, length=k): create a sequence between a and b with length k with equally spaced increments

13
ifelse ifelse(condition, true, false) agelt50 <- ifelse(data$AGE<50,1,0) note for equality must use “==“ cut(x, breaks) agegrp <- cut(data$AGE, breaks=c(0,50,60,130)) agegrp <- cut(data$AGE, breaks=c(0,50,60,130), labels=c(0,1,2)) agegrp <- cut(data$AGE, breaks=c(0,50,60,130), labels=F)

14
Looking at objects dim length sort

15
Subsetting Use [ ] Vectors data$AGE[data$REGION==1] data$AGE[data$LOS<10] Matrices & Dataframes data[data$AGE<50, ] data[, 2:5] data[data$AGE<50, 2:5]

16
Some math abs(x) sqrt(x) x^k log(x) (natural log, by default) choose(n,k)

17
Matrix Manipulation Matrix multiplication: A%*%B transpose: t(X) diag(X)

18
Table table(x,y) tabulate(x)

19
Statistical Tests and CI’s t.test fisher.test and binom.exact wilcox.test

20
Plots hist boxplot plot pch, type, lwd xlab, ylab xlim, ylim xaxt, yaxt axis

21
Plot Layout par(mfrow=c(2,1)) par(mfrow=c(1,1)) par(mfcol=c(2,2)) help(par)

22
Probability Distributions Normal: rnorm(N,m,s): generate random normal data dnorm(x,m,s): density at x for normal with mean m, std dev s qnorm(p,m,s): quantile associated with cumulative probability of p for normal with mean m, std dev s pnorm(q,m,s): cumulative probability at quantile q for normal with mean m, std dev s Binomial rbinom etc.

23
Libraries Additional packages that can be loaded Example: epitools library library(help=[libname])

24
Keeping things tidy ls() and objects() rm() rm(list=ls())

25
Future Topics linear regression sourcing R code creating functions organizing R files

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google