1、描述性统计分析-定量变量
(1)基础安装包包括:
summary()函数提供了最小值、最大值、四分位数和数值型变量的均值,以及因子向量和逻辑型向量的频数统计;
apply()或sapply()函数可计算所选择的任意描述性统计量。格式为:sapply(x,FUN,options)。其中的x是你的数据框(或矩阵),FUN为一个任意的函数。如果指定了options,它们将被传递给FUN。
函数fivenum()可返回图基五数总括(Tukey’s five-number summary,即最小值、下四分位数、中位数、上四分位数和最大值)。
(2)扩展包:
Hmisc包中的describe()函数可返回变量和观测的数量、缺失值和唯一值的数目、平均值、分位数,以及五个最大的值和五个最小的值;
psych包也拥有一个名为describe()的函数,它可以计算非缺失值的数量、平均数、标准差、中位数、截尾均值、绝对中位差、最小值、最大值、值域、偏度、峰度和平均值的标准误。
(3)分组计算描述性统计量
aggregate()函数:每次只能调用一个单返回值函数,无法一次性返回若干个统计量;
psych包中的describeBy()函数可计算和describe相同的描述性统计量,只是按照一个或多个分组变量分层。该函数不允许指定任意函数,所以它的普适性较低。若存在一个以上的分组变量,你可以使用list(groupvar1, groupvar2, ... , groupvarN)来表示它们。但这仅在分组变量交叉后不出现空白单元时有效。
2、频数表和列联表-类别型变量
(1)生成频数表
注意:table()函数默认忽略缺失值(NA)。要在频数统计中将NA视为一个有效的类别,请设定参数useNA="ifany"。
一维列联表:用prop.table()函数将频数转化为比例值;
二维列联表:
方法一、二:
1指的是table()语句中的第一个变量;
第一个变量行和:margin.table(mytable,1)
第二个变量列和:margin.table(mytable,2)
第一个变量行比例:prop.table(mytable,1)
第二个变量列比例:prop.table(mytable,2)
各单元格所占比例:prop.table(mytable)
添加各行、各列和:addmargins(mytable)
添加各行和:addmargins(mytable,1)
计算各行所占比例,并添加各列和:addmargins(prop.table(mytable,1),2)
方法三:使用gmodels包中的CrossTable()函数
三维列联表:
table()和xtabs()都可以基于三个或更多的类别型变量生成多维列联表。margin.table()、prop.table()和addmargins()函数可以自然地推广到高于二维的情况。另外,ftable()函数可以以一种紧凑而吸引人的方式输出多维列联表。
列联表可以告诉你组成表格的各种变量组合的频数或比例,不过你可能还会对列联表中的变量是否相关或独立感兴趣。
(2)独立性检验
以下三种显著性检验评估了是否存在充分的证据以拒绝变量间相互独立的原假设。
R提供了多种检验类别型变量独立性的方法。本节中描述的三种检验分别为卡方独立性检验、Fisher精确检验和Cochran-Mantel–Haenszel检验。
卡方独立性检验:使用chisq.test()函数对二维表的行变量和列变量进行卡方独立性检验;
fisher精确检验:Fisher精确检验的原假设是:边界固定的列联表中行和列是相互独立的。其调用格式为fisher.test(mytable),其中的mytable是一个二维列联表。fisher.test()函数可以在任意行列数大于等于2的二维列联表上使用,但不能用于2×2的列联表。
Cochran-Mantel—Haenszel检验:mantelhaen.test()函数可用来进行Cochran—Mantel—Haenszel卡方检验,其原假设是,两个名义变量在第三个变量的每一层中都是条件独立的。下列代码可以检验治疗情况和改善情况在性别的每一水平下是否独立。此检验假设不存在三阶交互作用(治疗情况×改善情况×性别)。
(3)相关性的度量
vcd包中的assocstats()函数用来计算二维列联表的phi系数、列联系数和Cramer’s V系数。vcd包也提供了一个kappa()函数,可以计算混淆矩阵的Cohen’s kappa值以及加权的kappa值。(举例来说,混淆矩阵可以表示两位评判者对于一系列对象进行分类所得结果的一致程度。)
(4)结果的可视化
(5)将表转化为扁平格式:没看
3、相关
相关系数可以用来描述定量变量之间的关系。
(1)相关的类型
R可以计算多种相关系数,包括Pearson相关系数、Spearman相关系数、Kendall相关系数、偏相关系数、多分格(polychoric)相关系数和多系列(polyserial)相关系数。下面让我们依次理解这些相关系数。
Pearson、Spearman和Kendall相关
Pearson积差相关系数衡量了两个定量变量之间的线性相关程度。Spearman等级相关系数则衡量分级定序变量之间的相关程度。Kendall’s Tau相关系数也是一种非参数的等级相关度量。
cor()函数可以计算这三种相关系数,而cov()函数可用来计算协方差。两个函数的参数有很多,其中与相关系数的计算有关的参数可以简化为:
cor(x,use=,method=)
在默认情况下得到的结果是一个方阵(所有变量之间两两计算相关),当你对某一组变量与另外一组变量之间的关系感兴趣时,cor()函数的这种用法是非常实用。
偏相关
偏相关是指在控制一个或多个定量变量(与分类变量对应)时,另外两个定量变量(与分类变量对应)之间的相互关系。你可以使用ggm包中的pcor()函数计算偏相关系数。
函数的调用格式为:
pcor(u,S)
其中的u是一个数值向量,前两个数值表示要计算相关系数的变量下标,其余的数值为条件变量(即要排除影响的变量)的下标。S为变量的协方差阵。这个示例有助于阐明用法:
其他类型的相关
polycor包中的hetcor()函数可以计算一种混合的相关矩阵,其中包括数值型变量的Pearson积差相关系数、数值型变量和有序变量之间的多系列相关系数、有序变量之间的多分格相关系数以及二分变量之间的四分相关系数。多系列、多分格和四分相关系数都假设有序变量或二分变量由潜在的正态分布导出。
(2)相关性的显著性检验
参数use=的取值可为"pairwise"或"complete"(分别表示对缺失值执行成对删除或行删除)。参数method=的取值可为"pearson"(默认值)、"spearman"或"kendall"。
偏相关系数显著性检验:
其他显著性检验:
psych包中的r.test()函数提供了多种实用的显著性检验方法。
4、t检验
在研究中最常见的行为就是对两个组进行比较。接受某种新药治疗的患者是否较使用某种现有药物的患者表现出了更大程度的改善?这里我们将关注结果变量为连续型的组间比较,并假设其呈正态分布。
(1)独立样本的t检验
例子:检验南方和非南方是否拥有相同监禁概率
(2)非独立样本的t检验
前—后测设计(pre-post design)或重复测量设计(repeated measures design)会产生非独立的组。非独立样本的t检验假定组间的差异呈正态分布。
检验的调用格式为:
t.test(y1,y2,paired=TRUE)
其中,y1,y2为两个非独立组的数值向量。
例子:检验年长和年轻男性的平均失业率是否相同。
(3)多于两组的情况
多于两组之间进行比较,且假定数据是从正态总体中独立抽样而得,则可以用方差分析ANOVA。
5、组间差异的非参数检验
如果数据无法满足t检验或ANOVA的参数假设,可以转而使用非参数方法。
(1)两组的比较
独立样本:
非独立样本:
Wilcoxon符号秩检验是非独立样本t检验的一种非参数替代方法。它适用于两组成对数据和无法保证正态性假设的情境。调用格式与Mann–Whitney U检验完全相同,不过还可以添加参数paired=TRUE。
(2)多于两组的比较