【发布时间】:2019-06-19 20:07:42
【问题描述】:
我正在尝试对我的数据执行 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] 错误 : 需要 TRUE/FALSE 的缺失值 另外:警告信息: 在 qtukey(1 - alpha, ntr, DFerror) 中:产生了 NaN
我应该如何编辑我的代码以使其正常工作?
或者我写一些完全不同的东西会更好吗?
【问题讨论】:
-
您必须将 Tukey_ID 转换为因子
aov(meanSuc ~ as.factor(Tukey_ID), data = Tukey_data) -
执行此操作时,我没有收到错误消息,但收到响应“NULL”。知道为什么会这样吗?
-
感谢您的回复!你说的很有道理,我更新了我的代码以反映这一点。这就是它现在的样子
Tukey_data <- data %>% mutate(Tukey_ID = paste(Collection, Irrigation, sep="_")) ; TukeyAov <- aov(Suc ~ as.factor(Tukey_ID), data = Tukey_data)HSD.test; (TukeyAov, "Tukey_ID", group=TRUE)然而,不幸的是,我仍然得到“NULL”响应。你有什么额外的建议吗?再次感谢! -
您的数据排名不足。
Tukey_ID中每个组的成员太少。