0

我正在尝试对我的数据执行 Tukey 的 HSD 测试或 LSD 测试。我有两个因素,收集(2 次治疗)和灌溉(5 次治疗),并且想要对每种组合的蔗糖反应进行测试,所以总共 10 次治疗。

数据:

structure(list(Collection = structure(c(1L, 1L, 1L, 1L, 1L, 2L
), .Label = c("1", "2"), class = "factor"), Irrigation = structure(c(1L, 
2L, 3L, 4L, 5L, 1L), .Label = c("Rate1", "Rate2", "Rate3", "Rate4", 
"Rate5"), class = "factor"), meanSuc = c(0.585416666666667, 0.5032, 
0.61375, 0.602775, 0.688466666666667, 0.545133333333333)), row.names = 
 c(NA, 
-6L), groups = structure(list(Collection = structure(1:2, .Label = c("1", 
"2"), class = "factor"), .rows = list(1:5, 6L)), row.names = c(NA, 
-2L), class = c("tbl_df", "tbl", "data.frame"), .drop = TRUE), class = 
c("grouped_df", 
"tbl_df", "tbl", "data.frame"))

尝试将处理组合成一个列并使用 Agricolae 进行测试:

Tukey_data <- dataAvgSucCI %>% 
  mutate(Tukey_ID = paste(Collection, Irrigation, sep="_"))
TukeyAov <- aov(meanSuc ~ Tukey_ID,Tukey_data)
HSD.test(TukeyAov, "Tukey_ID", group=TRUE)

错误信息:

if (pvalue[k] <= 0.001) sig[k] <- "***" else if (pvalue[k] <=
: 需要 TRUE/FALSE 的缺失值另外:警告消息:在 qtukey(1 - alpha, ntr, DFerror) : NaNs 产生

我应该如何编辑我的代码以使其工作?

还是我写一些完全不同的东西会更好?

4

1 回答 1

0

数据必须看起来像这样(单向方差分析):

Collection =  rep(1:2, times = 1, each = 5)
Irrigation = rep(1:5, times = 2, each = 1)
meanSuc = rnorm(10, mean = 0, sd = 1)

d = data.frame(Collection, Irrigation, meanSuc)

fit = aov(meanSuc ~ as.factor(Collection), data=d)

TukeyHSD(fit)

或双向方差分析:

fit2 = aov(meanSuc ~ as.factor(Collection) + as.factor(Irrigation), data = d)

TukeyHSD(fit2)

我认为您喜欢执行双向方差分析。就像 AkselA 所说,如果您像以前一样执行单向方差分析,那么您的目标变量 (meanSuc) 没有变化。

于 2019-06-19T21:53:57.083 回答