我有一些数据并试图做分析。我不知道如何使用R,但我看了很少的视频在互联网上,并试图模仿相同的测试,我需要。我想做的是尝试比较前四行(1-4行)和接下来的四行(4-8行)。在得到结果后,我想将相同的测试应用于下一列,因此我将有4个不同的p值。请找到一个示例图像附加附像。我总共有4列,这是先导测试,以后将用大的列大小执行。请问是否有人能告诉我做错了什么,并编辑代码。我很乐意为大家提供帮助。
Test = matrix(c(120, 115, 132, 117, 116,117,125,120,110,113,128,115),ncol=4, nrow = 4)
Test=t(Test)
Drug = matrix(c(88, 80, 85, 85, 83,84,90,83,83,79,86,82),ncol=4, nrow = 4)
Drug=t(Drug)
mydata<-cbind(Test,Drug)
for (i in 1:4)
wilcox.test(mydata[i,1:4],mydata[i,5:8], mu=0, alt="two.sided", paired=T, conf.int=F,conf.level = 0.99, exact=T,correct=T)发布于 2017-04-09 11:04:51
为此,我建议使用data.frame或data.table,列指定组(对应于示例中的行,例如A、B、C),一列指定测试/药物,一列指定值:
library(data.table)
Test <- c(120, 115, 132, 117, 116,117,125,120,110,113,128,115)
Drug <- c(88, 80, 85, 85, 83,84,90,83,83,79,86,82)
groups <- rep(c(rep("A", 4), rep("B", 4), rep("C", 4)), 2)
variable <- c(rep("test", length(Test)), rep("drug", length(Drug)))
dt <- data.table(group = groups, variable = variable, value = c(Test, Drug))
# >dt
# group variable value
# 1: A test 120
# 2: A test 115
# 3: A test 132
# 4: A test 117
# 5: B test 116
# 6: B test 117
# 7: B test 125
# 8: B test 120
# 9: C test 110
# 10: C test 113
# 11: C test 128
# 12: C test 115
# 13: A drug 88
# 14: A drug 80
# 15: A drug 85
# 16: A drug 85
# 17: B drug 83
# 18: B drug 84
# 19: B drug 90
# 20: B drug 83
# 21: C drug 83
# 22: C drug 79
# 23: C drug 86
# 24: C drug 82
# group variable value每组测试值与药物值之间的关系是:
dt_stat <- dt[, .(p_value = wilcox.test(value~variable, mu=0, alt="two.sided", paired = TRUE,
conf.int = FALSE, conf.level = 0.99,exact = TRUE, correct = TRUE)$p.value),
by = .(group)]
# > dt_stat
# group p_value
# 1: A 0.09751254
# 2: B 0.09751254
# 3: C 0.12500000https://stackoverflow.com/questions/43305240
复制相似问题