第二部分 第7章基本统计分析

7.1 描述性统计分析

连续型变量的中心趋势、变化性和分布形状的方法。

7.1.1 方法云集

基础安装中的函数:summary()函数来获取描述性统计量(最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计)
apply()函数
sapply()函数 :sapply(x, FUN, options)
fivenum()函数:返回最小值、下四分位数、中位数、上四分位数和最大值。

7.1.2 更多方法

  • Hmisc包中的describe()函数
  • pastecs包中的stat.desc()函数
  • psych包中describe()函数

最后载入的程序包优先。

7.1.3 分组计算描述性统计量

  • aggregate()函数分组获取描述性统计量
  • by()分组计算描述性统计量

7.1.4 分组计算的扩展

  • doBy包中的summaryBy()分组计算概述统计量
  • psych包中的describeBy()分组计算概述统计量

7.1.5 结果的可视化

7.2 频数表和列联表

类别型变量的频数表和列联表,以及相应的独立性检验、相关性的度量、图形化展示结果的方法。

7.2.1 生成频数表

用于创建和处理列联表的函数

函数 描述
table(var1, var2, ..., varN) 使用N个类别型变量创建一个N维列联表
xtabs(formula, data) 根据一个公式和一个矩阵或数据框创建一个N维列联表
prop.table(table, margins) 依margins定义的边际列表将表中条目表示为分数形式
margin.table(table, margins) 依margins定义的边际列表计算表中条目的和
addmargins(table, margins) 将概述边margins放入表中
ftable(table) 创建一个紧凑的平铺式列联表
  • 一维列联表
> 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 
  • 二维列联表,table()函数使用格式为:mytable<-xtabs(~A+B, data=mydata)
> mytable <- xtabs(~ Treatment+Improved, data=Arthritis)
> mytable
         Improved
Treatment None Some Marked
  Placebo   29    7      7
  Treated   13    7     21

使用Crosstable生成二维列联表

library(gmodels)
CrossTable(Arthritis$Treatment,Arthritis$Improved)
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 |           | 
--------------------|-----------|-----------|-----------|-----------|
  • 多维列联表
    table(), xtabs(), ftable()

7.2.2 独立性检验

主要介绍三种检验:卡方独立性检验、Fisher精确检验、Cochran-Mantel-Haenszel检验

  • 卡方独立性检验:chisq.test()函数
  • Fisher精确检验:fisher.test()函数
  • Cochran-Mantel-Haenszel检验:mantlehaen.test()函数

7.2.3 相关性的度量

vcd包中的assocstats()函数

7.2.4 结果的可视化

7.3 相关

相关系数可以用来描述定量变量之间的关系。
±表明关系的方向,值的大小表明关系的强弱程度。

7.3.1 相关的类型

  • Pearson(两个定量变量之间的线性相关程度)、Spearman(衡量分级定序变量之间的相关程度)和 Kendall相关(非参数的等级相关度量)
    cor()函数可以计算这三种相关系数;cov()函数可计算协方差
    cor(x, use=, method= )
参数 描述
x 矩阵或数据框
use 指定缺失数据的处理方式
method 指定相关系数的类型
  • 偏相关:在控制一个或多个定量变量时,另外两个定量变量之间的相互关系。
    ggm包中的pcor()函数计算偏相关系数,pcor(u, s)
  • 其他类型的相关
    polycor包中的hetcor()函数:可以计算一种混合的相关矩阵。

7.3.2 相关性的显著性检验

cor.test(x, y, alternative = , method = )

7.3.3 相关关系的可视化

correlogram相关图

7.4 t检验

两个组进行比较

7.4.1 独立样本的t检验

t.test (y ~ x, data)

7.4.2 非独立样本的t检验

t.test(y1,y2, paired=TRUE)

7.4.3 多于两组的情况

方差分析(ANOVA)

7.5 组间差异的非参数检验

7.5.1 两组的比较

两组数据独立,使用Wilcoxon秩和检验(Mann-Whitney U检验)
wilcox.test(y ~ x, data)

7.5.2 多于两组的比较

kruskal.test(y ~ A, data)
friedman.test(y ~ A | B, data)

7.6 组间差异的可视化

7.7 小结

你可能感兴趣的:(第二部分 第7章基本统计分析)