(七)基本統(tǒng)計(jì)分析

前面簡要介紹了R語言的基本數(shù)據(jù)結(jié)構(gòu)和基礎(chǔ)圖形诵叁,本節(jié)將簡單介紹如何得到數(shù)據(jù)的描述性統(tǒng)計(jì)分析业栅,以及進(jìn)一步了解列聯(lián)表(也即分組)担巩。

1方援、描述性統(tǒng)計(jì)分析

本節(jié)將關(guān)注分析連續(xù)型變量的中心趨勢(shì)、變化性和分布形狀的方法涛癌。以mtcars數(shù)據(jù)中的mpg犯戏、hp和wt為例子對(duì)常用的統(tǒng)計(jì)方法進(jìn)行說明。
對(duì)于數(shù)據(jù)的基礎(chǔ)性統(tǒng)計(jì)分析拳话,R中有許多方法先匪,從R自帶的summary()函數(shù),到三方包中的方法弃衍,我們將逐步進(jìn)行介紹呀非。

> df <- mtcars[c('mpg','hp','wt')];head(df)
                   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(df)
      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 

如上所見,summary()函數(shù)提供了最小值镜盯、最大值岸裙、四分位數(shù)和數(shù)值型變量的均值,以及因子向量和邏輯型向量的頻數(shù)統(tǒng)計(jì)速缆。你可以使用apply()函數(shù)或sapply()函數(shù)計(jì)算所選擇的任意描述性統(tǒng)計(jì)量降允。函數(shù)fivenum()可返回圖基五數(shù)總括(Tukey’s five-number summary,即最小值艺糜、下四分位數(shù)剧董、中位數(shù)、上四分位數(shù)和最大值)破停。

mystats<-function(x,na.omit=FALSE){
  if(na.omit){
    x<-x[!is.na(x)]
  }
  m<-mean(x)
  n<-length(x)
  s<-sd(x)
  skew<-sum((x-m)^3/s^3)/n
  kurt<-sum((x-m)^4/s^4)/n-3
  return(c(n=n,mean=m,stdenv=s,skew=skew,kurtosis=kurt))
}

> apply(df, 2, mystats)
               mpg          hp          wt
n        32.000000  32.0000000 32.00000000
mean     20.090625 146.6875000  3.21725000
stdenv    6.026948  68.5628685  0.97845744
skew      0.610655   0.7260237  0.42314646
kurtosis -0.372766  -0.1355511 -0.02271075

三方包Hmsic翅楼、pastecs和psych中都提供了計(jì)算描述性統(tǒng)計(jì)的函數(shù)。Hmisc包中的describe()函數(shù)可返回變量和觀測(cè)的數(shù)量真慢、缺失值和唯一值的數(shù)目毅臊、平均值、分位數(shù)黑界,以及五個(gè)最大的值和五個(gè)最小的值管嬉。

> library(Hmisc)
> describe(df)
df 

 3  Variables      32  Observations
------------------------------------------------------------------------------------------------------------------------------------------
mpg 
       n  missing distinct     Info     Mean      Gmd      .05      .10      .25      .50      .75      .90      .95 
      32        0       25    0.999    20.09    6.796    12.00    14.34    15.43    19.20    22.80    30.09    31.30 

lowest : 10.4 13.3 14.3 14.7 15.0, highest: 26.0 27.3 30.4 32.4 33.9
------------------------------------------------------------------------------------------------------------------------------------------
hp 
       n  missing distinct     Info     Mean      Gmd      .05      .10      .25      .50      .75      .90      .95 
      32        0       22    0.997    146.7    77.04    63.65    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      Gmd      .05      .10      .25      .50      .75      .90      .95 
      32        0       29    0.999    3.217    1.089    1.736    1.956    2.581    3.325    3.610    4.048    5.293 

lowest : 1.513 1.615 1.835 1.935 2.140, highest: 3.845 4.070 5.250 5.345 5.424
------------------------------------------------------------------------------------------------------------------------------------------

pastecs包中有一個(gè)名為stat.desc()的函數(shù),可用來計(jì)算種類繁多的描述性統(tǒng)計(jì)量园爷。使用方法為stat.desc(x,basic=TRUE,desc=TRUE,norm=FALSE,p=0.95),其中的x是一個(gè)數(shù)據(jù)框或時(shí)間序列宠蚂。若basic=TRUE(默認(rèn)值),則計(jì)算其中所有值童社、空值求厕、缺失值的數(shù)量,以及最小值扰楼、最大值呀癣、值域,還有總和弦赖。若desc=TRUE(同樣也是默認(rèn)值)项栏,則計(jì)算中位數(shù)、平均數(shù)蹬竖、平均數(shù)的標(biāo)準(zhǔn)誤沼沈、平均數(shù)置信度為95%的置信區(qū)間流酬、方差、標(biāo)準(zhǔn)差以及變異系數(shù)列另。最后芽腾,若norm=TRUE(不是默認(rèn)的),則返回正態(tài)分布統(tǒng)計(jì)量页衙,包括偏度和峰度(以及它們的統(tǒng)計(jì)顯著程度)和Shapiro–Wilk正態(tài)檢驗(yàn)結(jié)果摊滔。這里使用了p值來計(jì)算平均數(shù)的置信區(qū)間(默認(rèn)置信度為0.95)。

> options(digits=2)
> stat.desc(df)
               mpg      hp     wt
nbr.val       32.0   32.00  32.00
nbr.null       0.0    0.00   0.00
nbr.na         0.0    0.00   0.00
min           10.4   52.00   1.51
max           33.9  335.00   5.42
range         23.5  283.00   3.91
sum          642.9 4694.00 102.95
median        19.2  123.00   3.33
mean          20.1  146.69   3.22
SE.mean        1.1   12.12   0.17
CI.mean.0.95   2.2   24.72   0.35
var           36.3 4700.87   0.96
std.dev        6.0   68.56   0.98
coef.var       0.3    0.47   0.30

psych包中也有一個(gè)describe()函數(shù)店乐,它可以計(jì)算非缺失值的數(shù)量艰躺、平均數(shù)、標(biāo)準(zhǔn)差眨八、中位數(shù)腺兴、截尾均值、絕對(duì)中位差踪古、最小值含长、最大值、值域伏穆、偏度拘泞、峰度和平均值的標(biāo)準(zhǔn)誤。

> library(psych)

載入程輯包:‘psych’

The following object is masked from ‘package:Hmisc’:

    describe

The following objects are masked from ‘package:ggplot2’:

    %+%, alpha
### 這里的describe()函數(shù)被重載了枕扫,如果想使用Hmisc中的describe()函數(shù)陪腌,可使用Hmisc::describe(df)
> describe(df)
    vars  n  mean    sd median trimmed   mad  min   max range skew kurtosis    se
mpg    1 32  20.1  6.03   19.2    19.7  5.41 10.4  33.9  23.5 0.61    -0.37  1.07
hp     2 32 146.7 68.56  123.0   141.2 77.10 52.0 335.0 283.0 0.73    -0.14 12.12
wt     3 32   3.2  0.98    3.3     3.1  0.77  1.5   5.4   3.9 0.42    -0.02  0.17

2、分組計(jì)算描述性統(tǒng)計(jì)量

在前面我們已經(jīng)使用aggregate()函數(shù)進(jìn)行簡單的分組計(jì)算烟瞧,aggregate()的缺點(diǎn)是只能使用平均數(shù)诗鸭、標(biāo)準(zhǔn)差這樣的單返回值函數(shù)。
若想一次性返回多個(gè)統(tǒng)計(jì)量参滴,可使用by()函數(shù)强岸,格式為:by(data, Indices, FUN),其中data是一個(gè)數(shù)據(jù)框或矩陣砾赔,indices是一個(gè)因子或因子組成的列表蝌箍,定義了分組,F(xiàn)UN則是任意函數(shù)暴心。

### 使用aggregate()函數(shù)分組并獲取單個(gè)返回值
> aggregate(df,by=list(mtcars$am),mean)
  Group.1 mpg  hp  wt
1       0  17 160 3.8
2       1  24 127 2.4

###使用by()函數(shù)分組并返回多個(gè)統(tǒng)計(jì)量
> dstats <- function(x)sapply(x, mystats)
> by(df, mtcars$am, dstats)
mtcars$am: 0
            mpg      hp    wt
n        19.000  19.000 19.00
mean     17.147 160.263  3.77
stdenv    3.834  53.908  0.78
skew      0.014  -0.014  0.98
kurtosis -0.803  -1.210  0.14
------------------------------------------------------------------------------------------------------- 
mtcars$am: 1
            mpg     hp    wt
n        13.000  13.00 13.00
mean     24.392 126.85  2.41
stdenv    6.167  84.06  0.62
skew      0.053   1.36  0.21
kurtosis -1.455   0.56 -1.17

###這里書中說的dstats()調(diào)用了mystats()函數(shù)妓盲,將其應(yīng)用于數(shù)據(jù)框中的每一列中,在通過by()函數(shù)可得到am中每一水平的概括統(tǒng)計(jì)量专普。
###但是個(gè)人認(rèn)為應(yīng)該是先分類然后再應(yīng)用統(tǒng)計(jì)函數(shù)才對(duì)悯衬。

doBy包和psych包同樣提供了分祖計(jì)算統(tǒng)計(jì)量的函數(shù)。doBy包中的summaryBy()函數(shù)使用方法為:summaryBy(formula, data=dataframe, FUN=function)檀夹,其中formula接受以下格式:var1+var2+var3+...varN ~ groupvar1+groupvar2+...+groupvarN,在~左側(cè)的變量(varN)是需要分析的數(shù)值型變量筋粗,而右側(cè)的變量(groupvarN)是類別型的分組變量策橘。 function可為任何內(nèi)建或用戶自編的R函數(shù)。

> library('doBy')
> summaryBy(mpg+hp+wt~am,data=mtcars,FUN=mystats)
  am mpg.n mpg.mean mpg.stdenv mpg.skew mpg.kurtosis hp.n hp.mean hp.stdenv hp.skew hp.kurtosis wt.n wt.mean wt.stdenv wt.skew
1  0    19       17        3.8    0.014         -0.8   19     160        54  -0.014       -1.21   19     3.8      0.78    0.98
2  1    13       24        6.2    0.053         -1.5   13     127        84   1.360        0.56   13     2.4      0.62    0.21
  wt.kurtosis
1        0.14
2       -1.17
###########
> library(psych)
> describeBy(df)
    vars  n  mean    sd median trimmed   mad  min   max range skew kurtosis    se
mpg    1 32  20.1  6.03   19.2    19.7  5.41 10.4  33.9  23.5 0.61    -0.37  1.07
hp     2 32 146.7 68.56  123.0   141.2 77.10 52.0 335.0 283.0 0.73    -0.14 12.12
wt     3 32   3.2  0.98    3.3     3.1  0.77  1.5   5.4   3.9 0.42    -0.02  0.17

從上面可以看到doBy中的summaryBy()函數(shù)返回結(jié)果的可讀性比R自帶by()函數(shù)差亏狰,但其用起來較為簡單役纹。
psych包中的describeBy()函數(shù)可計(jì)算和describe相同的描述性統(tǒng)計(jì)量偶摔,只是按照一個(gè)或多個(gè)分組變量分層暇唾。但describeBy()函數(shù)不允許指定任意函數(shù),所以它的普適性較低辰斋。若存在一個(gè)以上的分組變量策州,可使用list(groupvar1, groupvar2, ... , groupvarN)來表示它們。
最后宫仗,在前面介紹分組方法時(shí)够挂,使用過reshape2包,借助reshape2包可以靈活的按組導(dǎo)出描述性統(tǒng)計(jì)量(如我前面所言藕夫,個(gè)人感覺這個(gè)包有點(diǎn)難以理解)孽糖。但是reshape2相比于reshape有一個(gè)很大的缺點(diǎn),那就是他的聚合函數(shù)只能有一個(gè)返回值(雖然reshape2比reshape效率高)毅贮,就好比aggregateby办悟。他的使用步驟主要如下:
(1)融合數(shù)據(jù)框: dfm <- melt(dataframe, measure.vars=y, id.vars=g),其中的dataframe包含著數(shù)據(jù)滩褥, y是一個(gè)向量病蛉,指明了要進(jìn)行概述的數(shù)值型變量(默認(rèn)使用所有變量),而g是由一個(gè)或多個(gè)分組變量組成的向量瑰煎;
(2)重鑄數(shù)據(jù):cast(dfm, groupvar1 + groupvar2 + ... + variable ~ . , FUN), 分組變量以+號(hào)分隔铺然,這里的variable只取其字面含義(即僅表示重鑄后數(shù)據(jù)框中的變量variable),而FUN是一個(gè)任意函數(shù)酒甸。reshape2使用的是dcast()函數(shù)魄健,只能有一個(gè)返回值,而cast函數(shù)中卻允許多個(gè)返回值插勤。
下面使用mtcars數(shù)據(jù)看看reshape分組聚合的強(qiáng)大之處沽瘦。

> library(reshape)

載入程輯包:‘reshape’

The following objects are masked from ‘package:reshape2’:

    colsplit, melt, recast
### rehape2和reshape包的功能和函數(shù)用法基本相同,除了上面所說的重鑄的統(tǒng)計(jì)返回值數(shù)量
> dfm<-melt(mtcars, measure.vars=c('mpg','hp','wt'),id.vars=c('am','cyl'))
> head(dfm)
  am cyl variable value
1  1   6      mpg  21.0
2  1   6      mpg  21.0
3  1   4      mpg  22.8
4  0   6      mpg  21.4
5  0   8      mpg  18.7
6  0   6      mpg  18.1
> options(digits=2);cdf<-cast(dfm, am+cyl+variable~., mystats);head(cdf)
  am cyl variable n  mean stdenv   skew kurtosis
1  0   4      mpg 3  22.9   1.45  0.069     -2.3
2  0   4       hp 3  84.7  19.66 -0.380     -2.3
3  0   4       wt 3   2.9   0.41 -0.381     -2.3
4  0   6      mpg 4  19.1   1.63  0.482     -1.9
5  0   6       hp 4 115.2   9.18 -0.094     -2.3
6  0   6       wt 4   3.4   0.12 -0.735     -1.7

3饮六、頻數(shù)表和列聯(lián)表

本部分將著眼于類別型變量的頻數(shù)表和列聯(lián)表其垄。范例中的數(shù)據(jù)來源于vcd包中的Arthritis數(shù)據(jù)集,這份數(shù)據(jù)展示了一項(xiàng)關(guān)于風(fēng)濕性關(guān)節(jié)炎新療法的雙盲臨床試驗(yàn)結(jié)果卤橄。
R中提供了多種用于創(chuàng)建頻數(shù)表和列連表的方法绿满,主要常用的函數(shù)如下表:

函數(shù) 描述
table(var1, var2, var3,...,varN) 使用N個(gè)類別型變量(因子)創(chuàng)建一個(gè)N維列聯(lián)表
xtabs(formula, data) 根據(jù)一個(gè)公式和一個(gè)矩陣或數(shù)據(jù)框創(chuàng)建一個(gè)N維列聯(lián)表
pro.table(table, margins) 依m(xù)argins定義的邊際列表將表中條目表示為分?jǐn)?shù)形式
margin.table(table, margins) 依m(xù)argins定義的邊際列表計(jì)算表中條目的和
addmargins(table,margins) 將概述邊margins(默認(rèn)是求和結(jié)果)放入表中
ftable(table) 創(chuàng)建一個(gè)緊湊的‘平鋪式’列聯(lián)表

接下來,我們將逐個(gè)使用以上函數(shù)來探索類別型變量窟扑。首先觀察簡單的頻率表喇颁,然后是二維列聯(lián)表漏健,最后是多維列聯(lián)表。

3.1 一維列聯(lián)表

一維列聯(lián)表可直接使用table()生成橘霎。

> 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 <- table(Arthritis$Improved) 
> mytable

  None   Some Marked 
    42     14     28 
### 產(chǎn)看治療效果的比例
> prop.table(mytable)

  None   Some Marked 
  0.50   0.17   0.33 
> prop.table(mytable)*100

  None   Some Marked 
    50     17     33 
###求和
> margin.table(mytable)
[1] 84
###同樣求和蔫浆,這里將結(jié)果加入了表中
> addmargins(mytable)

  None   Some Marked    Sum 
    42     14     28     84 
> class(mytable)
[1] "table

從上面可以看到,50%的患者都得到了改善姐叁。

3.2 二維列聯(lián)表

創(chuàng)建二維列聯(lián)表有兩種方式瓦盛,使用table(A,B)xtabs()xtabs()的使用方式較為復(fù)雜外潜,格式為:xtabs(~A+B, data=mydata)原环,其中的mydata是一個(gè)矩陣或數(shù)據(jù)框〈總的來說嘱吗,要進(jìn)行交叉分類的變量應(yīng)出現(xiàn)在公式的右側(cè)(即符號(hào)的右方),以+作為分隔符滔驾。若某個(gè)變量寫在公式的左側(cè)谒麦,則其為一個(gè)頻數(shù)向量(在數(shù)據(jù)已經(jīng)被表格化時(shí)很有用),對(duì)其進(jìn)行求和運(yùn)算哆致。簡言之绕德,formula公式右邊的應(yīng)該都是類型變量,左邊可選擇加入數(shù)值型變量沽瞭。
另外值得注意的一點(diǎn)是迁匠,table()函數(shù)是默認(rèn)忽略NA的,若需要將NA作為一類驹溃,使用useNA='ifany'城丧。

### 使用table()創(chuàng)建二維列聯(lián)表
> table(Arthritis$Treatment,Arthritis$Improved)
         
          None Some Marked
  Placebo   29    7      7
  Treated   13    7     21
### 使用xtabs()創(chuàng)建二維列聯(lián)表
> mytable <- xtabs(~Treatment+Improved, Arthritis); mytable
         Improved
Treatment None Some Marked
  Placebo   29    7      7
  Treated   13    7     21
### 生成邊際頻數(shù),其中后面的1,2指代xtabs()的formula中變量的下標(biāo)豌鹤,
### 如 ~Treatment+Improved 中1指的是第一個(gè)變量Treatment,2指的是第二個(gè)變量Improved
> margin.table(mytable, 1); margin.table(mytable,2)
Treatment
Placebo Treated 
     43      41 
Improved
  None   Some Marked 
    42     14     28 
### 生成邊際比例
> prop.table(mytable,1)*100;prop.table(mytable,2)*100
         Improved
Treatment None Some Marked
  Placebo   67   16     16
  Treated   32   17     51
         Improved
Treatment None Some Marked
  Placebo   69   50     25
  Treated   31   50     75
### 查看每個(gè)單元格所占比例
> prop.table(mytable)
         Improved
Treatment  None  Some Marked
  Placebo 0.345 0.083  0.083
  Treated 0.155 0.083  0.250
### 添加邊際和
> addmargins(mytable)
         Improved
Treatment None Some Marked Sum
  Placebo   29    7      7  43
  Treated   13    7     21  41
  Sum       42   14     28  84

######## 接下來我們?cè)倏纯赐龊澹趂ormula左邊加入一個(gè)頻數(shù)變量(這里將Age作為一個(gè)頻數(shù)變量)的結(jié)果
> xtabs(Age~Treatment+Improved, Arthritis)
         Improved
Treatment None Some Marked
  Placebo 1439  402    403
  Treated  648  397   1193
### 可以看到關(guān)聯(lián)列表的行列變量沒變,但是其中的數(shù)值變了布疙,這些數(shù)值代表什么意思呢蚊惯?其實(shí)是每一個(gè)分類的和
### 使用aggregate函數(shù)可以簡單實(shí)現(xiàn)相同的結(jié)果
> aggregate(Arthritis$Age,by=list(Treatment=Arthritis$Treatment,Improvement=Arthritis$Improved),sum)
  Treatment Improvement    x
1   Placebo        None 1439
2   Treated        None  648
3   Placebo        Some  402
4   Treated        Some  397
5   Placebo      Marked  403
6   Treated      Marked 1193

除了R中自帶的table()類函數(shù)外,還可以使用三方包gmodels中的CrossTable()函數(shù)創(chuàng)建二維列聯(lián)表灵临。

> 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 |           | 
--------------------|-----------|-----------|-----------|-----------|

CrossTable()結(jié)果較為直觀截型,而且已經(jīng)添加了邊際和和邊際頻率。CrossTable()函數(shù)還有很多選項(xiàng)儒溉,可以做許多事情:計(jì)算(行宦焦、列、單元格)的百分比;指定小數(shù)位數(shù)波闹;進(jìn)行卡方酝豪、 Fisher和McNemar獨(dú)立性檢驗(yàn);計(jì)算期望和(皮爾遜精堕、標(biāo)準(zhǔn)化孵淘、調(diào)整的標(biāo)準(zhǔn)化)殘差;將缺失值作為一種有效值歹篓;進(jìn)行行和列標(biāo)題的標(biāo)注瘫证;生成SAS或SPSS風(fēng)格的輸出。

3.3 多維列聯(lián)表

table()和xtabs()都可以基于三個(gè)或更多的類別型變量生成多維列聯(lián)滋捶。margin.table()痛悯、prop.table()和addmargins()函數(shù)可以自然地推廣到高于二維的情況。另外重窟, ftable()函數(shù)可以以一種緊湊而吸引人的方式輸出多維列聯(lián)表。

### 使用table()創(chuàng)建多維列聯(lián)表
> with(Arthritis,table(Treatment, Sex, Improved))
, , 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
### 使用xtabs創(chuàng)建多維列聯(lián)表
> 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()對(duì)三維列表輸出格式進(jìn)行美化
> 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

4惧财、小結(jié)

本節(jié)我們介紹了連續(xù)型數(shù)值變量和類別型變量的多種基本統(tǒng)計(jì)分析方法巡扇,在此對(duì)其進(jìn)行一個(gè)小結(jié),推薦一下個(gè)人認(rèn)為最好用的方法垮衷。
(1)對(duì)于連續(xù)型數(shù)值變量的基本統(tǒng)計(jì)分析厅翔,可利用R內(nèi)置的summary()函數(shù)查看數(shù)據(jù)的描述性統(tǒng)計(jì)量(如均值,極值搀突,方差)等刀闷,若有特定的要求,可使用apply()仰迁、sapply()函數(shù)通過自定義函數(shù)返回想要的結(jié)果甸昏。此外三方包Hmisc、pastecs徐许、psych中也都提供了不錯(cuò)的統(tǒng)計(jì)函數(shù)施蜜。就輸出結(jié)果的直觀性和功能來說,查看基本統(tǒng)計(jì)分析推薦的方法為內(nèi)置summary()函數(shù)和pastecs包中的stat.desc()函數(shù)雌隅。
(2)對(duì)于分組R同樣提供了多種方法翻默,如果只想對(duì)分組結(jié)果查看單個(gè)統(tǒng)計(jì)分析值(即作用函數(shù)只有單個(gè)返回值),aggregate()無疑是最佳選擇恰起,簡單快速修械。若想對(duì)分組結(jié)果進(jìn)行處理返回多個(gè)統(tǒng)計(jì)值,R同樣有多種方法检盼,這里從輸出直觀性以及使用簡單來說肯污,首推的reshape包(reshape2包無法返回多個(gè)統(tǒng)計(jì)分析值,因此放棄),其次為doBy包中的summaryBy()函數(shù)和內(nèi)置的by()函數(shù)仇箱。
(3)對(duì)于類別型變量的分析县恕,一般使用table()xtabs()即可滿足要求,ftable()能夠是多維關(guān)聯(lián)列表的輸出更為美觀剂桥。若想進(jìn)行更高級(jí)的分析忠烛,則可能需要用到三方包gmodels的CrossTable()函數(shù)钞脂。

參考:
R語言實(shí)戰(zhàn).

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末偎肃,一起剝皮案震驚了整個(gè)濱河市飘蚯,隨后出現(xiàn)的幾起案子鼻弧,更是在濱河造成了極大的恐慌芬为,老刑警劉巖卤唉,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厌杜,死亡現(xiàn)場(chǎng)離奇詭異榕栏,居然都是意外死亡堪滨,警方通過查閱死者的電腦和手機(jī)胯陋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來袱箱,“玉大人遏乔,你說我怎么就攤上這事》⒈剩” “怎么了盟萨?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長了讨。 經(jīng)常有香客問我捻激,道長,這世上最難降的妖魔是什么前计? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任胞谭,我火速辦了婚禮,結(jié)果婚禮上残炮,老公的妹妹穿的比我還像新娘韭赘。我一直安慰自己,他們只是感情好势就,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布泉瞻。 她就那樣靜靜地躺著,像睡著了一般苞冯。 火紅的嫁衣襯著肌膚如雪袖牙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天舅锄,我揣著相機(jī)與錄音鞭达,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛畴蹭,可吹牛的內(nèi)容都是我干的坦仍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼叨襟,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼繁扎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起糊闽,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤梳玫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后右犹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體提澎,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年念链,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了盼忌。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡钓账,死狀恐怖碴犬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情梆暮,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布绍昂,位于F島的核電站啦粹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏窘游。R本人自食惡果不足惜唠椭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望忍饰。 院中可真熱鬧贪嫂,春花似錦、人聲如沸艾蓝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赢织。三九已至亮靴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間于置,已是汗流浹背茧吊。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人搓侄。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓瞄桨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親讶踪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子芯侥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容

  • ? 描述性統(tǒng)計(jì)分析? 頻數(shù)表和列聯(lián)表? 相關(guān)系數(shù)和協(xié)方差? t檢驗(yàn)? 非參數(shù)統(tǒng)計(jì) 7.1描述性...
    白馬少年說閱讀 3,254評(píng)論 4 3
  • 參考: R語言實(shí)戰(zhàn) 因?yàn)闀辛信e的方法和知識(shí)點(diǎn)比較多,沒必要全都掌握俊柔,會(huì)一種筹麸,其他的了解即可。我就簡要地整理一下我...
    王詩翔閱讀 3,380評(píng)論 2 11
  • 一雏婶、老項(xiàng)目的描述:首先來描述一下我所謂的老項(xiàng)目物赶,項(xiàng)目創(chuàng)建于12年,至今的五年時(shí)間中未重構(gòu)過留晚,目前項(xiàng)目的內(nèi)存管理機(jī)制...
    Sparkle_S閱讀 4,155評(píng)論 1 6
  • 來了有一年了酵紫,都快忘了自己做過些什么了,記錄一下错维。之前做外國人簽證新系統(tǒng)的外交部接口第一次接觸WebService...
    折疊小豬閱讀 138評(píng)論 0 0
  • 在好奇心面前,探究一切 黑道老大跟老婆離婚后隆判,在家種了600棵桂花樹懷念她犬庇,對(duì)方并沒有理他。 把槍偷藏在火腿里送到...
    人間少數(shù)派閱讀 284評(píng)論 0 0