Я хочу создать функцию (или способ выполнить тест за один - go), который выполняет тест Манна Уитни. Я хочу проанализировать значения logSG между двумя различными CC условиями в одно и то же время. Поэтому для следующего кадра данных мне нужно 3 p-значения, которые соответствуют каждому времени.
Мой примерный кадр данных:
structure(list(Time = c("30", "30", "30", "30", "30", "30", "30",
"30", "30", "30", "30", "30", "30", "60", "60", "60", "60", "60",
"60", "60", "60", "60", "60", "90", "90", "90", "90", "90", "90",
"90", "90", "90"), CC = c("Scramble", "Scramble", "Scramble",
"Scramble", "Scramble", "Scramble", "Scramble", "Scramble", "KD",
"KD", "KD", "KD", "KD", "Scramble", "Scramble", "Scramble", "Scramble",
"Scramble", "KD", "KD", "KD", "KD", "KD", "Scramble", "Scramble",
"Scramble", "Scramble", "KD", "KD", "KD", "KD", "KD"), logSG = c(0,
6.29469069760774, 6.97548510669835, 0, 0, 5.6529880324294, 0,
0, 0, 0, 0, 5.84818081635987, 0, 6.33960454566506, 0.410736902037262,
0, 0, 0, 0, 0.0294484401648161, 0, 1.03061195077248, -1.30321174424293,
-1.25902114646857, 0, 0, 0.787059500696643, 3.54611686297603,
0, 0, -0.297732408305282, 0)), row.names = c(NA, -32L), class = c("data.table",
"data.frame"), .internal.selfref = <pointer: 0x7f9b120204e0>)
Я пробовал следующее для каждого момента времени:
e <- result[result$Time == 30,]
wilcox.test(SG ~ CC, data=e)
Это неуклюже и неэффективно.
Или у меня проблемы с тем, чтобы заставить это работать:
t <- result %>% group_by(Time) %>% do(te=wilcox.test(logSG ~ CC))
Если возможно, я бы хотел узнать, как это сделать, используя dplyr
и m/s/apply
.
Ссылки: ссылка Ссылка