Useful R Commands
Useful R Commands
Command                    Purpose
help()                     Obtain documentation for a given R command
example()                  View some examples on the use of a command
                                                                             Command              Purpose
c(), scan()                Enter data manually to a vector in R
                                                                             plot()               Produces a scatterplot
seq()                      Make arithmetic progression vector
                                                                             xyplot()             Lattice command for producing a scatterplot
rep()                      Make vector of repeated values
                                                                             lm()                 Determine the least-squares regression line
data()                     Load (often into a data.frame) built-in dataset
                                                                             anova()              Analysis of variance (can use on results of lm())
View()                     View dataset in a spreadsheet-type format
                                                                             predict()            Obtain predicted values from linear model
str()                      Display internal structure of an R object
                                                                             nls()                estimate parameters of a nonlinear model
read.csv(), read.table()   Load into a data.frame an existing data file
                                                                             residuals()          gives (observed - predicted) for a model fit to data
library(), require()       Make available an R add-on package
                                                                             sample()             take a sample from a vector of data
dim()                      See dimensions (# of rows/cols) of data.frame
                                                                             replicate()          repeat some process a set number of times
length()                   Give length of a vector
                                                                             cumsum()             produce running total of values for input vector
ls()                       Lists memory contents
                                                                             ecdf()               builds empirical cumulative distribution function
rm()                       Removes an item from memory
                                                                             dbinom(), etc.       tools for binomial distributions
names()                    Lists names of variables in a data.frame
                                                                             dpois(), etc.        tools for Poisson distributions
hist()                     Command for producing a histogram
                                                                             pnorm(), etc.        tools for normal distributions
histogram()                Lattice command for producing a histogram
                                                                             qt(), etc.           tools for student t distributions
stem()                     Make a stem plot
                                                                             pchisq(), etc.       tools for chi-square distributions
table()                    List all values of a variable with frequencies
                                                                             binom.test()         hypothesis test and confidence interval for 1 proportion
xtabs()                    Cross-tabulation tables using formulas
                                                                             prop.test()          inference for 1 proportion using normal approx.
mosaicplot()               Make a mosaic plot
                                                                             chisq.test()         carries out a chi-square test
cut()                      Groups values of a variable into larger bins
                                                                             fisher.test()        Fisher test for contingency table
mean(), median()           Identify “center” of distribution
                                                                             t.test()             student t test for inference on population mean
by()                       apply function to a column split by factors
                                                                             qqnorm(), qqline()   tools for checking normality
summary()                  Display 5-number summary and mean
                                                                             addmargins()         adds marginal sums to an existing table
var(), sd()                Find variance, sd of values in vector
                                                                             prop.table()         compute proportions from a contingency table
sum()                      Add up all values in a vector
                                                                             par()                query and edit graphical settings
quantile()                 Find the position of a quantile in a dataset
                                                                             power.t.test()       power calculations for 1- and 2-sample t
barplot()                  Produces a bar graph
                                                                             anova()              compute analysis of variance table for fitted model
barchart()                 Lattice command for producing bar graphs
boxplot()                  Produces a boxplot
bwplot()                   Lattice command for producing boxplots
R Commands for MATH 143                                                           Examples of usage
Examples of usage
help()
help(mean)
example()
require(lattice)
example(histogram)
[1] 8 6 7 5 3 0 9
 [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[49] 0 0 0 0
 [1] 7.0 8.5 10.0 11.5 13.0 14.5 16.0 17.5 19.0 20.5 22.0 23.5 25.0 26.5 28.0 29.5 31.0 32.5 34.0
[20] 35.5 37.0 38.5 40.0
> dim(iris)
[1] 150 5
> str(iris)
> View(iris)
                                                    2
R Commands for MATH 143                                                                      Examples of usage
ls(), rm()
>   data(iris)
>   data(faithful)
>   data(Puromycin)
>   data(LakeHuron)
>   ls()
> rm(faithful)
> ls()
hist()
data(faithful)
hist(faithful$eruptions)
hist(faithful$eruptions, n=15)
hist(faithful$eruptions, breaks=seq(1.5,5.25,.25), col="red")
hist(faithful$eruptions, freq=F, n=15, main="Histogram of Old Faithful Eruption Times", xlab="Duration (mins)")
                        0.4
                        0.2
                        0.0
Duration (mins)
                                                          3
R Commands for MATH 143                                                             Examples of usage
library(), require()
> library(abd)
> require(lattice)
histogram()
require(lattice)
data(iris)
histogram(iris$Sepal.Length, breaks=seq(4,8,.25))
histogram(~ Sepal.Length, data=iris, main="Iris Sepals", xlab="Length")
histogram(~ Sepal.Length | Species, data=iris, col="red")
histogram(~ Sepal.Length | Species, data=iris, n=15, layout=c(1,3))
read.csv()
read.table()
> x = counties$LandArea
> mean(x, na.rm = T)
[1] 1126.214
[1] 616.48
> summary(x)
[1] 3622.453
[1] 13122165
                                                     4
R Commands for MATH 143                                                           Examples of usage
sum()
> firstTwentyIntegers = 1:20
> sum(firstTwentyIntegers)
[1] 210
[1] 0.14
stem()
> monarchs = read.csv("http://www.calvin.edu/~scofield/data/comma/monarchReigns.csv")
> stem(monarchs$years)
    0   |   0123566799
    1   |   0023333579
    2   |   012224455
    3   |   355589
    4   |   4
    5   |   069
    6   |   3
Female        Male
   133          88
sex
Female        Male
   133          88
                    Political07
Political04          Conservative Far Left Far Right Liberal Middle-of-the-road
  Conservative                 58        0         2      13                 39
  Far Right                     4        0         3       0                  0
  Liberal                       0        1         1      14                  4
  Middle-of-the-road           20        0         0      22                 32
                                                     5
R Commands for MATH 143                                                                               Examples of usage
pol
                        Female
              sex
Male
Political04
 0   1   2    3     5   6        7   9 10 12 13 15 17 19 20 21 22 24 25 33 35 38 39 44 50 56 59 63
 1   1   1    1     1   2        1   2 2 1 4 1 1 1 1 1 3 2 2 1 3 1 1 1 1 1 1 1
years
 0 1     2    3     5   6        7   9 10 12 13 15 17 19 20 21 22 24 25 33 35 38 39 44 50 56 59 63
 1 1     1    1     1   2        1   2 2 1 4 1 1 1 1 1 3 2 2 1 3 1 1 1 1 1 1 1
 [1] (20,25] (10,15] (30,35] (15,20] (30,35] (5,10] (15,20] (55,60] (30,35] (15,20] (45,50] (20,25]
[13] (10,15] (5,10] (35,40] (20,25] <NA>     (0,5]   (20,25] (35,40] (5,10] (0,5]    (40,45] (20,25]
[25] (20,25] (20,25] (0,5]   (10,15] (5,10] (10,15] (10,15] (30,35] (55,60] (5,10] (5,10] (60,65]
[37] (5,10] (20,25] (0,5]    (10,15]
13 Levels: (0,5] (5,10] (10,15] (15,20] (20,25] (25,30] (30,35] (35,40] (40,45] (45,50] ... (60,65]
  (0,5]      (5,10] (10,15] (15,20] (20,25] (25,30] (30,35] (35,40] (40,45] (45,50] (50,55] (55,60]
      4           7       6       3       8       0       4       2       1       1       0       2
(60,65]
      1
fiveYrLevels
  (0,5] (5,10] (10,15] (15,20] (20,25] (25,30] (30,35] (35,40] (40,45] (45,50] (50,55] (55,60]
      4      7       6       3       8       0       4       2       1       1       0       2
(60,65]
      1
                                                               6
R Commands for MATH 143                                                            Examples of usage
barplot()
pol = read.csv("http://www.calvin.edu/~stob/data/csbv.csv")
barplot(table(pol$Political04), main="Political Leanings, Calvin Freshman 2004")
barplot(table(pol$Political04), horiz=T)
barplot(table(pol$Political04),col=c("red","green","blue","orange"))
barplot(table(pol$Political04),col=c("red","green","blue","orange"),
        names=c("Conservative","Far Right","Liberal","Centrist"))
                 80
                 40
                 0
                                                                               Female
                                                                               Male
          50
          40
          30
          20
          10
          0
                                                 7
R Commands for MATH 143                                                                                                                                                   Examples of usage
boxplot()
data(iris)
boxplot(iris$Sepal.Length)
boxplot(iris$Sepal.Length, col="yellow")
boxplot(Sepal.Length ~ Species, data=iris)
boxplot(Sepal.Length ~ Species, data=iris, col="yellow", ylab="Sepal length",main="Iris Sepal Length by Species")
                   6.5
                   5.5
                                                                                                                                                           ●
                   4.5
plot()
data(faithful)
plot(waiting~eruptions,data=faithful)
plot(waiting~eruptions,data=faithful,cex=.5)
plot(waiting~eruptions,data=faithful,pch=6)
plot(waiting~eruptions,data=faithful,pch=19)
plot(waiting~eruptions,data=faithful,cex=.5,pch=19,col="blue")
plot(waiting~eruptions, data=faithful, cex=.5, pch=19, col="blue", main="Old Faithful Eruptions",
     ylab="Wait time between eruptions", xlab="Duration of eruption")
                                                                                                                                                                      ●
                                                                                                                                                             ●
                                             90
                                                                                                                                    ●          ●       ●
                                                                                                                                     ●      ● ●●        ● ● ● ●
                                                                                                                               ●      ●     ●●        ●  ●       ● ●
                                                                                                                ●               ●     ●●       ●               ● ●
                                                                                                                   ●            ●            ●    ●●
                                                                                                                                                   ●●●● ●●
                                                                                                         ●         ●    ● ● ● ● ●● ● ●● ●●●●●● ●       ● ● ●
                                                                                                                                                             ● ●
                                                                                                                     ● ● ●●       ● ● ● ● ●●      ●● ●●
                                                                                                                                                  ●          ● ●
                                                                                                              ●    ●  ● ●● ● ●● ●● ●● ●●● ● ●●  ● ●●●●●●●●
                                                                                                                                                         ● ●●●
                                                                                                                                                              ●
                                                                                                                            ● ●●●  ● ●●  ●●
                                                                                                                                      ● ● ●  ●   ●   ●
                                                                                                                                                     ●              ●●
                                                                                                         ●             ● ●●                      ●●●      ●● ●
                                                                                                                                                             ●
                                                                                                                                  ● ●      ● ● ●●●
                                             70
                                                                                                                  ●                        ●             ●
                                                                                ●                                 ●   ●      ●
                                                                                                                             ● ●● ●●
                                                                                                 ●       ●                        ●
                                                                        ●                                 ●       ●
                                                        ●           ●            ● ●   ●                      ●           ●
                                                          ● ●       ●          ● ● ●         ●
                                                        ●● ● ●●     ●●● ●   ●●
                                                                             ●● ●
                                                              ●●● ●● ● ●                   ● ●
                                                            ●●●●●
                                                         ●● ●   ● ●●● ● ●● ●    ●●
                                             50
                                                    ●      ●● ●● ●● ●●    ● ●          ●
                                                                ●
                                                                ● ●● ● ● ● ● ● ●
                                                          ● ●
                                                          ●     ●             ●
                                                           ●●●● ●         ●●
                                                                    ●
Duration of eruption
                                                                                                     8
R Commands for MATH 143                                                         Examples of usage
sample()
> sample(c("Heads","Tails"), size=1)
[1] "Heads"
[1] "Heads" "Heads" "Heads" "Tails" "Tails" "Tails" "Tails" "Tails" "Tails" "Heads"
[1] 1 0 0 1 1 0 0 1 0 0
[1] 10
[1] 1 1 1 0 1 1 1 1 1 1
[1] 0 0 0 0 0
replicate()
> sample(c("Heads","Tails"), 2, replace=T)
              0.15
              0.00
0 2 4 6 8 10
                                                   9
R Commands for MATH 143                                                              Examples of usage
[1] 0.03125
[1] 0.5
[1] 0.5
flip5
     0      1      2      3      4      5
0.0310 0.1545 0.3117 0.3166 0.1566 0.0296
     0      1      2      3      4      5
0.0304 0.1587 0.3087 0.3075 0.1634 0.0313
[1] 0 8 9 11 12 50
> binom.test(29, 200, .21) # inference on sample with 29 successes in 200 trials
> prop.test(29, 200, .21) # inference on same sample, using normal approx. to binomial
                                                    10
R Commands for MATH 143                                                                Examples of usage
[1] 0.679813
[1] 0.679813
data: observedCounts
X-squared = 3.1309, df = 5, p-value = 0.6798
addmargins()
> blood = read.csv("http://www.calvin.edu/~scofield/data/comma/blood.csv")
> t = table(blood$Rh, blood$type)
> addmargins(t)        # to add both row/column totals
         A   AB    B    O Sum
  Neg    6    1    2    7 16
  Pos   34    3    9   38 84
  Sum   40    4   11   45 100
       A AB B O
  Neg 6 1 2 7
  Pos 34 3 9 38
  Sum 40 4 11 45
       A AB    B O Sum
  Neg 6 1      2 7 16
  Pos 34 3     9 38 84
                                                      11
R Commands for MATH 143                                                         Examples of usage
prop.table()
> summary(smoke)
> prop.table(smoke)
> prop.table(smoke, 1)
                                                                      current
                                                                      former
                                                                      never
                       0
                                                  12
R Commands for MATH 143                                                                           Examples of usage
par()
>   par(mfrow = c(1,2))      # set figure so next two plots appear side-by-side
>   poisSamp = rpois(50, 3)    # Draw sample of size 50 from Pois(3)
>   maxX = max(poisSamp)     # will help in setting horizontal plotting region
>   hist(poisSamp, freq=F, breaks=-.5:(maxX+.5), col="green", xlab="Sampled values")
>   plot(0:maxX, dpois(0:maxX, 3), type="h", ylim=c(0,.25), col="blue", main="Probabilities for Pois(3)")
dpois(0:maxX, 3)
                                                                         0.20
      Density
0.15
                                                                         0.10
                  0.00
                                                                         0.00
                                0     2    4    6                                 0 1 2 3 4 5 6 7
fisher.test()
> blood = read.csv("http://www.calvin.edu/~scofield/data/comma/blood.csv")
> tblood = xtabs(~Rh + type, data=blood)
> tblood      # contingency table for blood type and Rh factor
     type
Rh     A AB              B O
  Neg 6 1                2 7
  Pos 34 3               9 38
> chisq.test(tblood)
data: tblood
X-squared = 0.3164, df = 3, p-value = 0.957
> fisher.test(tblood)
data: tblood
p-value = 0.8702
alternative hypothesis: two.sided
                                                     13
R Commands for MATH 143                                                                 Examples of usage
dpois(), ppois()
> dpois(2:7, 4.2)         # probabilities of 2, 3, 4, 5, 6 or 7 successes in Pois(4.211)
> ppois(1, 4.2) # probability of 1 or fewer successes in Pois(4.2); same as sum(dpois(0:1, 4.2))
[1] 0.077977
[1] 0.06394334
[1] 0.2524925
> qnorm(c(.95, .975, .995)) # obtain z* critical values for 90, 95, 99% CIs
>   nSamp = rnorm(10000, 7, 1.5)    # draw random sample from Norm(7, 1.5)
>   hist(nSamp, freq=F, col="green", main="Sampled values and population density curve")
>   xs = seq(2, 12, .05)
>   lines(xs, dnorm(xs, 7, 1.5), lwd=2, col="blue")
                       0.10
                       0.00
2 4 6 8 10 12
nSamp
                                                        14
R Commands for MATH 143                                                              Examples of usage
> qt(c(.95, .975, .995), df=9) # critical values for 90, 95, 99% CIs for means
[1] 0.02980016
>      tSamp = rt(50, 11)     # takes random sample of size 50 from t-dist with 11 dfs
>      # code for comparing several t distributions to standard normal distribution
>      xs = seq(-5,5,.01)
>      plot(xs, dnorm(xs), type="l", lwd=2, col="black", ylab="pdf values",
+           main="Some t dists alongside standard normal curve")
>      lines(xs, dt(xs, 1), lwd=2, col="blue")
>      lines(xs, dt(xs, 4), lwd=2, col="red")
>      lines(xs, dt(xs, 10), lwd=2, col="green")
>      legend("topright",col=c("black","blue","red","green"),
+             legend=c("std. normal","t, df=1","t, df=4","t, df=10"), lty=1)
                                                                                   std. normal
pdf values
                                                                                   t, df=1
                                                                                   t, df=4
             0.2
                                                                                   t, df=10
             0.0
−4 −2 0 2 4
xs
by()
> data(warpbreaks)
> by(warpbreaks$breaks, warpbreaks$tension, mean)
warpbreaks$tension: L
[1] 36.38889
---------------------------------------------------------------------------
warpbreaks$tension: M
[1] 26.38889
---------------------------------------------------------------------------
warpbreaks$tension: H
[1] 21.66667
                                                     15
R Commands for MATH 143                                                                                                                                  Examples of usage
t.test()
> data(sleep)
> t.test(extra ~ group, data=sleep)                                            # 2-sample t with group id column
qqnorm(), qqline()
                                                                                                                                             ●   ●
                                                                                                                                         ●
                                                                                                                                    ●●
                                                            50
                                                                                                                                ●●●●●
                                                                                                                            ●●●●
                                                                                                                       ●●●●●
                                                                                                                   ●●●●●
                                                                                                            ●●●●●●●●
                                                                                                      ●●●●●●●
                                                                                                   ●●●●
                                                            30
                                                                                                ●●●●
                                                                                            ●●●●●
                                                                                           ●●
                                                                                          ●
                                                                                         ●
                                                                                      ●●●
                                                                                  ●●●●
                                                            10
                                                                               ● ●
                                                                 ●   ●   ● ●
−2 −1 0 1 2
Theoretical Quantiles
                                                                                                  16
R Commands for MATH 143                                                                      Examples of usage
power.t.test()
> power.t.test(n=20, delta=.1, sd=.4, sig.level=.05)                # tells how much power at these settings
             n   =   20
         delta   =   0.1
            sd   =   0.4
     sig.level   =   0.05
         power   =   0.1171781
   alternative   =   two.sided
> power.t.test(delta=.1, sd=.4, sig.level=.05, power=.8) # tells sample size needed for desired power
             n   =   252.1281
         delta   =   0.1
            sd   =   0.4
     sig.level   =   0.05
         power   =   0.8
   alternative   =   two.sided
anova()
require(lattice)
require(abd)
data(JetLagKnees)
xyplot(shift ~ treatment, JetLagKnees, type=c('p','a'), col="navy", pch=19, cex=.5)
anova( lm( shift ~ treatment, JetLagKnees ) )
Response: shift
          Df Sum Sq Mean Sq F value  Pr(>F)
treatment 2 7.2245 3.6122 7.2894 0.004472 **
Residuals 19 9.4153 0.4955
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
                                                                         ●
                                                 ●
                                                 ●                       ●
                                                 ●
                                          0                              ●
                                                                         ●
                                                 ●
                                                 ●                       ●
                                 shift
                                                 ●
                                                 ●
                                                              ●
                                                              ●
                                         −1      ●
                                                                         ●
                                                              ●
                                                              ●
                                                              ●          ●
−2 ●
treatment
17