【发布时间】:2016-08-19 07:50:43
【问题描述】:
这是我的数据,9 个变量的 900000 obs。
我试过apply 函数但无法在apply 函数中给出参数。
数据如下所示。
ID A1 A2 A3 A4 A5 B1 B2 B3 B4
1 10 12 11 13 15 50 55 56 57
2 20 22 23 21 20 60 76 78 71
3 10 12 13 15 14 50 55 52 53
...
90000 11 12 13 15 12 21 22 23 24
我需要执行 900000 次两个样本学生 t 检验,将这 9 个变量分为 2 组(A 组和 B 组)。 任何人都可以在这里发布代码吗?
编辑:感谢您的评论,我进行了以下更改。 样本数据
testx <- structure(list(RAS = c(0.554246173201929, 0.292104162206435,
0.201932255556074), RASSYX2 = c(0.673628450549317, 0.370730964566956,
0.240868661848041), RASSYX3 = c(0.592972062397773, 0.387737676651884,
0.258971711587807)), .Names = c("RAS", "RASSYX2", "RASSYX3"), row.names =c(NA,
3L), class = "data.frame")
testy <- structure(list(test2 = c(0.682230776398731, 0.299007374701463,
0.21735652533812), test3 = c(0.660308325914822, 0.340956947569367,
0.255153956615115), test4 = c(0.625506839884405, 0.281695127521423,
0.265769288207206)), .Names = c("test2", "test3", "test4"), row.names = c(NA,
3L), class = "data.frame")
testx 的第 1 行应该与testy 的第 1 行比较,会有 900000 行,我只需要将这个测试自动化 900000 次。
所以我希望做双边等方差t检验,置信度为95%。
我试过这个,但显然 y 不是我想要测试的。
apply(testx,1,t.test,testy)
【问题讨论】:
-
显示您尝试过的代码并描述它如何不起作用。我们在这里帮助您编写代码,而不是为您编写代码。你应该总是让你的examples reproducible
-
至少提供1行数据的代码。这是左侧,右侧还是两侧?等方差还是不等方差?你的信心水平是多少?等等……
-
或者:sapply(1:n, FUN = function(i){t.test(testx[i,], testy[i,], alternative = "two.lateral", var.equal = TRUE)$p.value}),当 n 是行数时。
-
感谢 Dave2e,效果很好!
标签: r statistics apply