MYa*_*208 1 statistics r anova
我想知道是否有任何 R 函数可以根据样本平均值、SD 和样本大小 (n) 执行 ANOVA 和 TukeyHSD。我找到了对样本统计数据执行方差分析的ind.oneway.second
函数rpsychi
,但找不到任何对样本统计数据执行 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)
Run Code Online (Sandbox Code Playgroud)
这应该有效。基本上,它只是模拟与给定平均值、标准差和样本量完全匹配的数据。之后,您可以拟合感兴趣的模型并进行您感兴趣的任何事后测试。
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)
Run Code Online (Sandbox Code Playgroud)