Как я могу сделать HSD-тест Тьюки на этих данных? - PullRequest
0 голосов
/ 19 июня 2019

Я пытаюсь выполнить HSD-тест Tukey или 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] <= <br>: пропущенное значение, где требуется TRUE / FALSE Дополнительно: предупреждающее сообщение: в qtukey (1 - alpha, ntr, DFerror): NaNsпроизведено

Как мне отредактировать мой код, чтобы он работал?

Или мне лучше написать что-то совершенно другое?

1 Ответ

0 голосов
/ 20 июня 2019

Данные должны выглядеть следующим образом (One way ANOVA):

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)

или двухсторонний ANOVA:

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

TukeyHSD(fit2)

Я думаю, тебе нравится выполнять двухстороннюю анову. Как сказал AkselA, в вашей целевой переменной нет никаких изменений (meanSuc), если вы выполняете односторонний ANOVA, как и вы.

...