【问题标题】:How can I do a Tukey's HSD test on this data?如何对此数据进行 Tukey 的 HSD 测试?
【发布时间】: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 &lt;- data %&gt;% mutate(Tukey_ID = paste(Collection, Irrigation, sep="_")) ; TukeyAov &lt;- aov(Suc ~ as.factor(Tukey_ID), data = Tukey_data)HSD.test; (TukeyAov, "Tukey_ID", group=TRUE) 然而,不幸的是,我仍然得到“NULL”响应。你有什么额外的建议吗?再次感谢!
  • 您的数据排名不足。 Tukey_ID 中每个组的成员太少。

标签: r tukey


【解决方案1】:

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

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) 没有变化。

【讨论】:

  • 他们正在使用来自agricolaeHSD.test()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
  • 2022-01-08
  • 2021-02-27
  • 2020-07-06
  • 1970-01-01
  • 2019-03-08
  • 1970-01-01
相关资源
最近更新 更多