我想知道是否有任何R函数可以从样本均值,SD和样本大小(n)执行ANOVA和TukeyHSD。我从ind.oneway.second
找到了rpsychi
函数来对样本统计执行ANOVA,但找不到任何函数来对样本统计执行TukeyHSD。
library("rpsychi")
Mean <- c(90,85,92,100,102,106)
SD <- c(9.035613,11.479667,9.760268,7.662572,9.830258,9.111457)
SampleSize <- c(9,9,9,9,9,9)
fm1 <- ind.oneway.second(Mean, SD, SampleSize)
fm1
names(fm1)
TukeyHSD(fm1$anova.table)
答案 0 :(得分:2)
这应该有效。基本上它只是模拟与给定平均值,标准偏差和样本大小完全匹配的数据。之后,您可以调整感兴趣的模型,并进行您感兴趣的任何事后测试。
Mean <- c(90,85,92,100,102,106)
SD <- c(9.035613,11.479667,9.760268,7.662572,9.830258,9.111457)
SampleSize <- c(9,9,9,9,9,9)
gen_data <- function(means, sds, samplesizes){
n.grp <- length(means)
grps <- factor(rep(1:n.grp, samplesizes))
dat <- lapply(1:n.grp, function(i) {scale(rnorm(samplesizes[i]))*sds[i] + means[i]})
y <- do.call(rbind, dat)
out <- data.frame(group = grps, y = y)
out
}
simulated_data <- gen_data(Mean, SD,SampleSize)
av <- aov(y ~ group, data = simulated_data)
summary(av)
TukeyHSD(av)