R上三个子集的ANOVA

问题描述 投票:2回答:1

我是R的真正新手。我有一个.csv数据文件。我创建了3个数据子集,代表三个不同的群体对问卷的回答。

p_groupFMI = subset(data, M_freq==1) #n= 
c_groupFMI = subset(data, M_freq==2) #n=
i_groupFMI = subset(data, M_freq==3) #n=

我想尝试将这三组的方法与ANOVA进行比较。然后做火鸡测试。我可以这样做而不必尝试创建关卡等吗?

我试过了

aov.data = aov(data$Mean ~ data$M_freq, data=data)
summary(aov.data)
TukeyHSD(aov.data)

但这似乎不太好用。

r subset anova
1个回答
1
投票

这是一些数据,三个组用类型因子的分组变量表示。

n1 <- n2 <- n3 <- 4    
df.test <- as.data.frame(list(
    grouping = as.factor(c(rep(1,times=n1),rep(2,times=n2),rep(3,times=n3))), #arbitrary factor
    data = c(rnorm(n=n1,mean=1),rnorm(n=n2,mean=10),rnorm(n=n3,mean=11)))) #random data
head(df.test)
#   grouping       data
# 1        1  2.1026786
# 2        1  0.4464325
# 3        1 -1.0131310
# 4        1  1.6502438
# 5        2 10.8733848
# 6        2  9.3680943

要测试组1,2和3的组是否意味着显着不同:

anova <- aov(df.test$data ~ df.test$grouping)
summary(anova)
#                  Df Sum Sq Mean Sq F value
# df.test$grouping  2 280.93  140.47   111.4
# Residuals         9  11.34    1.26        
#                    Pr(>F)    
# df.test$grouping 4.47e-07 ***
# Residuals                    
# ---
# Signif. codes:  
# 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

你可以运行Tukey测试:

TukeyHSD(anova)
#   Tukey multiple comparisons of means
#     95% family-wise confidence level
# 
# Fit: aov(formula = df.test$data ~ df.test$grouping)
# 
# $`df.test$grouping`
#           diff       lwr       upr     p adj
# 2-1  9.9632077  7.746675 12.179740 0.0000014
# 3-1 10.5404363  8.323904 12.756969 0.0000009
# 3-2  0.5772286 -1.639304  2.793761 0.7542212
© www.soinside.com 2019 - 2024. All rights reserved.