У меня есть список из 25 столбцов, которые я тестирую по группам (4 уровня) с помощью теста Даннета. Я смог использовать функцию sapply
, чтобы заставить Dunnett работать для всех столбцов по группам, и у меня возникли проблемы с переносом p-значений в таблицу. Ниже приведен пример того, что я пытаюсь сделать, используя набор данных радужной оболочки.
iris <- iris
iris$group <- ifelse(iris$Species =='setosa', 1,
ifelse(iris$Species =='versicolor', 2,
ifelse(iris$Species =='virginica', 3,
0)))
iris$group <- as.factor(iris$group)
summary(glht(aov(Sepal.Length ~ group, iris), linfct=mcp(group="Dunnett" )))
test
iris$Species
dunnet_model_iris <- sapply(iris[-c(5,6)], function(y, f) summary(glht(aov(y ~ f, iris), linfct=mcp(f="Dunnett"))), f = iris$Species)
names(dunnet_model_iris[[10]]$pvalues)
p_value <- dunnet_model[[10]]$pvalues
p_value
Я могу получить p-значения для каждого столбца через dunnet_model[[10]]$pvalues (каждый столбец находится на расстоянии 10 строк друг от друга (например: второй столбец будет dunnet_model[[20]]$pvalues). Всего , в моем наборе данных 25 столбцов, поэтому я бы выбрал от 10 до 250. Я хотел бы создать такую таблицу:
2-1 3-1
Sepal.Length 1.44E-15 2.22E-16
Sepal.Width 1.44E-15 2.22E-16
Petal.Length 1.44E-15 2.22E-16
Вопрос. Как вывести все P-значения Dunnett Comparison для каждого столбца в одну таблицу?
У меня возникли проблемы с поиском ответа. Если у кого-то есть предложения, которые будут очень признательны. Я не ожидаю никакого кода, просто несколько идей, которые помогут пролить свет на мою ситуацию.