R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

vars<-c("mpg","hp","wt")
head(mtcars[vars])
##                    mpg  hp    wt
## Mazda RX4         21.0 110 2.620
## Mazda RX4 Wag     21.0 110 2.875
## Datsun 710        22.8  93 2.320
## Hornet 4 Drive    21.4 110 3.215
## Hornet Sportabout 18.7 175 3.440
## Valiant           18.1 105 3.460
summary(mtcars[vars])
##       mpg              hp              wt       
##  Min.   :10.40   Min.   : 52.0   Min.   :1.513  
##  1st Qu.:15.43   1st Qu.: 96.5   1st Qu.:2.581  
##  Median :19.20   Median :123.0   Median :3.325  
##  Mean   :20.09   Mean   :146.7   Mean   :3.217  
##  3rd Qu.:22.80   3rd Qu.:180.0   3rd Qu.:3.610  
##  Max.   :33.90   Max.   :335.0   Max.   :5.424
library(Hmisc)
## 
## 载入程序包:'Hmisc'
## The following objects are masked from 'package:base':
## 
##     format.pval, units
describe(mtcars[vars])
## mtcars[vars] 
## 
##  3  Variables      32  Observations
## --------------------------------------------------------------------------------
## mpg 
##        n  missing distinct     Info     Mean  pMedian      Gmd      .05 
##       32        0       25    0.999    20.09     19.6    6.796    12.00 
##      .10      .25      .50      .75      .90      .95 
##    14.34    15.43    19.20    22.80    30.09    31.30 
## 
## lowest : 10.4 13.3 14.3 14.7 15  , highest: 26   27.3 30.4 32.4 33.9
## --------------------------------------------------------------------------------
## hp 
##        n  missing distinct     Info     Mean  pMedian      Gmd      .05 
##       32        0       22    0.997    146.7    142.5    77.04    63.65 
##      .10      .25      .50      .75      .90      .95 
##    66.00    96.50   123.00   180.00   243.50   253.55 
## 
## lowest :  52  62  65  66  91, highest: 215 230 245 264 335
## --------------------------------------------------------------------------------
## wt 
##        n  missing distinct     Info     Mean  pMedian      Gmd      .05 
##       32        0       29    0.999    3.217    3.186    1.089    1.736 
##      .10      .25      .50      .75      .90      .95 
##    1.956    2.581    3.325    3.610    4.048    5.293 
## 
## lowest : 1.513 1.615 1.835 1.935 2.14 , highest: 3.845 4.07  5.25  5.345 5.424
## --------------------------------------------------------------------------------
library(pastecs)
stat.desc(mtcars[vars])
##                      mpg           hp          wt
## nbr.val       32.0000000   32.0000000  32.0000000
## nbr.null       0.0000000    0.0000000   0.0000000
## nbr.na         0.0000000    0.0000000   0.0000000
## min           10.4000000   52.0000000   1.5130000
## max           33.9000000  335.0000000   5.4240000
## range         23.5000000  283.0000000   3.9110000
## sum          642.9000000 4694.0000000 102.9520000
## median        19.2000000  123.0000000   3.3250000
## mean          20.0906250  146.6875000   3.2172500
## SE.mean        1.0654240   12.1203173   0.1729685
## CI.mean.0.95   2.1729465   24.7195501   0.3527715
## var           36.3241028 4700.8669355   0.9573790
## std.dev        6.0269481   68.5628685   0.9784574
## coef.var       0.2999881    0.4674077   0.3041285
library(psych)
## 
## 载入程序包:'psych'
## The following object is masked from 'package:Hmisc':
## 
##     describe
describe(mtcars[vars])
##     vars  n   mean    sd median trimmed   mad   min    max  range skew kurtosis
## mpg    1 32  20.09  6.03  19.20   19.70  5.41 10.40  33.90  23.50 0.61    -0.37
## hp     2 32 146.69 68.56 123.00  141.19 77.10 52.00 335.00 283.00 0.73    -0.14
## wt     3 32   3.22  0.98   3.33    3.15  0.77  1.51   5.42   3.91 0.42    -0.02
##        se
## mpg  1.07
## hp  12.12
## wt   0.17
aggregate(mtcars[vars],by=list(am=mtcars$am),mean)
##   am      mpg       hp       wt
## 1  0 17.14737 160.2632 3.768895
## 2  1 24.39231 126.8462 2.411000
aggregate(mtcars[vars],by=list(am=mtcars$am),sd)
##   am      mpg       hp        wt
## 1  0 3.833966 53.90820 0.7774001
## 2  1 6.166504 84.06232 0.6169816
library(psych)
describe.by(mtcars[vars],mtcars$am)
## Warning in describe.by(mtcars[vars], mtcars$am): describe.by is deprecated.
## Please use the describeBy function
## 
##  Descriptive statistics by group 
## group: 0
##     vars  n   mean    sd median trimmed   mad   min    max  range  skew
## mpg    1 19  17.15  3.83  17.30   17.12  3.11 10.40  24.40  14.00  0.01
## hp     2 19 160.26 53.91 175.00  161.06 77.10 62.00 245.00 183.00 -0.01
## wt     3 19   3.77  0.78   3.52    3.75  0.45  2.46   5.42   2.96  0.98
##     kurtosis    se
## mpg    -0.80  0.88
## hp     -1.21 12.37
## wt      0.14  0.18
## ------------------------------------------------------------ 
## group: 1
##     vars  n   mean    sd median trimmed   mad   min    max  range skew kurtosis
## mpg    1 13  24.39  6.17  22.80   24.38  6.67 15.00  33.90  18.90 0.05    -1.46
## hp     2 13 126.85 84.06 109.00  114.73 63.75 52.00 335.00 283.00 1.36     0.56
## wt     3 13   2.41  0.62   2.32    2.39  0.68  1.51   3.57   2.06 0.21    -1.17
##        se
## mpg  1.71
## hp  23.31
## wt   0.17
library(reshape)
dstats<-function(x)(c(n=length(x),mean=mean(x),sd=sd(x)))
dfm<-melt(mtcars,measure.vars=c("mpg","hp","wt"),
          id.vars=c("am","cyl"))
cast(dfm,am+cyl+variable~.,dstats)
##    am cyl variable  n       mean         sd
## 1   0   4      mpg  3  22.900000  1.4525839
## 2   0   4       hp  3  84.666667 19.6553640
## 3   0   4       wt  3   2.935000  0.4075230
## 4   0   6      mpg  4  19.125000  1.6317169
## 5   0   6       hp  4 115.250000  9.1787799
## 6   0   6       wt  4   3.388750  0.1162164
## 7   0   8      mpg 12  15.050000  2.7743959
## 8   0   8       hp 12 194.166667 33.3598379
## 9   0   8       wt 12   4.104083  0.7683069
## 10  1   4      mpg  8  28.075000  4.4838599
## 11  1   4       hp  8  81.875000 22.6554156
## 12  1   4       wt  8   2.042250  0.4093485
## 13  1   6      mpg  3  20.566667  0.7505553
## 14  1   6       hp  3 131.666667 37.5277675
## 15  1   6       wt  3   2.755000  0.1281601
## 16  1   8      mpg  2  15.400000  0.5656854
## 17  1   8       hp  2 299.500000 50.2045815
## 18  1   8       wt  2   3.370000  0.2828427
library(vcd)
## 载入需要的程序包:grid
head(Arthritis)
##   ID Treatment  Sex Age Improved
## 1 57   Treated Male  27     Some
## 2 46   Treated Male  29     None
## 3 77   Treated Male  30     None
## 4 17   Treated Male  32   Marked
## 5 36   Treated Male  46   Marked
## 6 23   Treated Male  58   Marked
mytable<-with(Arthritis,table(Improved))
mytable
## Improved
##   None   Some Marked 
##     42     14     28
prop.table(mytable)
## Improved
##      None      Some    Marked 
## 0.5000000 0.1666667 0.3333333
prop.table(mytable)*100
## Improved
##     None     Some   Marked 
## 50.00000 16.66667 33.33333
mytable<-xtabs(~Treatment+Improved,data=Arthritis)
mytable
##          Improved
## Treatment None Some Marked
##   Placebo   29    7      7
##   Treated   13    7     21
margin.table(mytable,1)
## Treatment
## Placebo Treated 
##      43      41
prop.table(mytable,1)
##          Improved
## Treatment      None      Some    Marked
##   Placebo 0.6744186 0.1627907 0.1627907
##   Treated 0.3170732 0.1707317 0.5121951
margin.table(mytable,2)
## Improved
##   None   Some Marked 
##     42     14     28
prop.table(mytable,2)
##          Improved
## Treatment      None      Some    Marked
##   Placebo 0.6904762 0.5000000 0.2500000
##   Treated 0.3095238 0.5000000 0.7500000
prop.table(mytable)
##          Improved
## Treatment       None       Some     Marked
##   Placebo 0.34523810 0.08333333 0.08333333
##   Treated 0.15476190 0.08333333 0.25000000
addmargins(mytable)
##          Improved
## Treatment None Some Marked Sum
##   Placebo   29    7      7  43
##   Treated   13    7     21  41
##   Sum       42   14     28  84
addmargins(prop.table(mytable))
##          Improved
## Treatment       None       Some     Marked        Sum
##   Placebo 0.34523810 0.08333333 0.08333333 0.51190476
##   Treated 0.15476190 0.08333333 0.25000000 0.48809524
##   Sum     0.50000000 0.16666667 0.33333333 1.00000000
addmargins(prop.table(mytable,2),1)
##          Improved
## Treatment      None      Some    Marked
##   Placebo 0.6904762 0.5000000 0.2500000
##   Treated 0.3095238 0.5000000 0.7500000
##   Sum     1.0000000 1.0000000 1.0000000
library(gmodels)
CrossTable(Arthritis$Treatment,Arthritis$Improved)
## 
##  
##    Cell Contents
## |-------------------------|
## |                       N |
## | Chi-square contribution |
## |           N / Row Total |
## |           N / Col Total |
## |         N / Table Total |
## |-------------------------|
## 
##  
## Total Observations in Table:  84 
## 
##  
##                     | Arthritis$Improved 
## Arthritis$Treatment |      None |      Some |    Marked | Row Total | 
## --------------------|-----------|-----------|-----------|-----------|
##             Placebo |        29 |         7 |         7 |        43 | 
##                     |     2.616 |     0.004 |     3.752 |           | 
##                     |     0.674 |     0.163 |     0.163 |     0.512 | 
##                     |     0.690 |     0.500 |     0.250 |           | 
##                     |     0.345 |     0.083 |     0.083 |           | 
## --------------------|-----------|-----------|-----------|-----------|
##             Treated |        13 |         7 |        21 |        41 | 
##                     |     2.744 |     0.004 |     3.935 |           | 
##                     |     0.317 |     0.171 |     0.512 |     0.488 | 
##                     |     0.310 |     0.500 |     0.750 |           | 
##                     |     0.155 |     0.083 |     0.250 |           | 
## --------------------|-----------|-----------|-----------|-----------|
##        Column Total |        42 |        14 |        28 |        84 | 
##                     |     0.500 |     0.167 |     0.333 |           | 
## --------------------|-----------|-----------|-----------|-----------|
## 
## 
mytable<-xtabs(~Treatment+Sex+Improved,data = Arthritis)
mytable
## , , Improved = None
## 
##          Sex
## Treatment Female Male
##   Placebo     19   10
##   Treated      6    7
## 
## , , Improved = Some
## 
##          Sex
## Treatment Female Male
##   Placebo      7    0
##   Treated      5    2
## 
## , , Improved = Marked
## 
##          Sex
## Treatment Female Male
##   Placebo      6    1
##   Treated     16    5
ftable(mytable)
##                  Improved None Some Marked
## Treatment Sex                             
## Placebo   Female            19    7      6
##           Male              10    0      1
## Treated   Female             6    5     16
##           Male               7    2      5
margin.table(mytable,1)
## Treatment
## Placebo Treated 
##      43      41
margin.table(mytable,2)
## Sex
## Female   Male 
##     59     25
margin.table(mytable,3)
## Improved
##   None   Some Marked 
##     42     14     28
margin.table(mytable,c(1,3))
##          Improved
## Treatment None Some Marked
##   Placebo   29    7      7
##   Treated   13    7     21
ftable(prop.table(mytable,c(1,2)))
##                  Improved       None       Some     Marked
## Treatment Sex                                             
## Placebo   Female          0.59375000 0.21875000 0.18750000
##           Male            0.90909091 0.00000000 0.09090909
## Treated   Female          0.22222222 0.18518519 0.59259259
##           Male            0.50000000 0.14285714 0.35714286
ftable(addmargins(prop.table(mytable,c(1,2)),3))
##                  Improved       None       Some     Marked        Sum
## Treatment Sex                                                        
## Placebo   Female          0.59375000 0.21875000 0.18750000 1.00000000
##           Male            0.90909091 0.00000000 0.09090909 1.00000000
## Treated   Female          0.22222222 0.18518519 0.59259259 1.00000000
##           Male            0.50000000 0.14285714 0.35714286 1.00000000

Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.