我想要创建一个函数(或者一次执行测试的方法)来完成Mann测试。我想在同一时间内分析两个不同CC条件之间的logSG值。因此,对于后续数据,我想要3p-值,对应于每次。
我的样本数据:
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来完成这个任务。
发布于 2020-01-23 18:21:25
如果我们使用的是do,那么指定data
library(dplyr)
result %>%
group_by(Time) %>%
do(te=wilcox.test(logSG ~ CC, data = .)) 或在map ed数据集上使用nest
library(purrr)
result %>%
group_by(Time) %>%
nest %>%
mutate(te = map(data, ~ wilcox.test(logSG ~ CC, data = .x) ))https://stackoverflow.com/questions/59884876
复制相似问题