美文网首页
【R语言数据分析一:基础】

【R语言数据分析一:基础】

作者: lkj666 | 来源:发表于2021-04-23 08:40 被阅读0次

2021.4.23
持续更新中。。。


《R语言实战2》、学术数据分析及可视化


1. 相关性

    偏相关的计算,用到的时候再复习

1.1 相关计算方法:

  • Person: 积差相关系数,衡量了两个定量变量之间的线性相关,适用于连续变量(常用)
  • Spearman:等级相关系数,衡量了分级定序变量之间的相关,适用于因子
  • Kendall:相关系数是一种非参数的等级相关

1.2 计算

第一步:计算相关系数

cor(a, b) #a,b为两个向量
cor(x) #x为数据框

参数是数据框时,得出一个相关性矩阵

第二步:相关性检验(P值)

cor.test(y, x) #x, y是两个向量

install.packages("psych")
library(psych)
corr.test(x) #x为数据框

psych中函数corr.test()可以批量计算数据框的相关性并得出相关性的检验。(两个矩阵)

2. 差异分析(t-test)

    t-test用于检验两个组别的差异性;ANOVA用于多个组别的差异性

2.1 独立t检验

  • 两个组别之间没有影响
t.test(y ~ x, data  = data.frame) #x和y分别是数据框example.txt中的两个向量

2.2 非独立t检验

  • 两个组别有相关性
t.test(data.frame$y, data.frame$x, paired = TRUE)

多了一个paired = TRUE选项

2.3 两组差异的非参数检验

  • 两组数据不符合正太分布,或者不是连续变量
wilcox.test(y ~ x, data = data.frame) #独立检验
wilcox.test(data.frame$y, data.frame$x, paired = TRUE ) #非独立检验

2.4 样本不均等

t.test(y ~ x, var.eq = F)



3. 标准方差分析

    方差分析用于检验多个组别之间的差异性。计算出的P值与统计学意义之间没有必然的联系。

3.1 前提假设

    进行方差分析之前,默认数据满足以下三个假设

  • 正态性:分布符合正态分布
#定性描述正太分布
hist(rnorm(100, mean = 5, sd = 3), breaks = 100)
#定量描述正太分布
shapiro.test(rnorm(100, mean = 5, sd = 3))

P>0.05表示满足正态分布

  • 方差分析:样本来自同一个总体,总体方差相同
#单因子方差齐性检验
bartlett.test(count ~ spray, data = InsectSprays)
#多因子方差齐性检验
bartlett.test(len ~ interaction(supp,dose), data = ToothGrowth)

P值>0.05表示满足正态分布

  • 独立性:变量之间是独立的
        实验过程中一般已经考虑过独立性

3.2 单因子多组数据(one-way ANOVA)

set .seed(4)
df <- data.frame(Grade = rep(c('level1', 'level2', 'level3'), each = 5), 
                 Height = sample(150:190, 15))
#总体因子之间是否显著
aov(Height ~ Grade, data = df)
summary(aov(Height ~ Grade, data = df))
#各个组别之间是否显著
TukeyHSD(aov(Height ~ Grade, data = df))

P<0.05显著;P<0.001极显著

3.3 多因子多组数据(two-way ANOVA)

set.seed(6)
df <- data.frame(Grade = rep(c('level1', 'level2', 'level3'), each = 5), 
                 Gender = rep(c('female', 'male'), each = 5, times =3),
                 Height = sample(150:190, 15))
#分别检验单个因子和因子交互的显著性
summary(aov(Height ~ Grade*Gender, data = df))
#两两交互的影响
TukeyHSD(aov(Height ~ Grade*Gender, data = df))

Grade*Gender = Grade:Gender + Grade + Gender,因此可分别求单个因子和交互的影响显著性

相关文章

网友评论

      本文标题:【R语言数据分析一:基础】

      本文链接:https://www.haomeiwen.com/subject/aibglltx.html