【发布时间】:2019-08-19 19:25:34
【问题描述】:
我有 2680 列数据,每组 8 列,我需要对每组应用弗里德曼检验,因此我需要应用 335 次检验。是否可以以 8 个为一组循环遍历代码?
其中一组的示例是:
X2012 X2013 X2014 X2015 X2016 X2017 X2018
[1,] 0.000000 0.000000 0.00 0.000000 0.000000 0.00 0.000
[2,] 0.000000 3.000000 0.00 0.000000 0.000000 0.00 3.000
[3,] 3.000000 3.000000 0.00 3.000000 3.000000 3.00 3.000
[4,] 2.500000 2.333333 3.00 3.000000 3.000000 2.75 3.000
[5,] 2.600000 3.000000 3.00 2.428571 3.000000 3.00 3.375
[6,] 2.891892 2.967742 3.04 2.833333 2.777778 3.00 2.840
一些代码
require(PMCMRplus)
rank <- read.csv("C:/Projects/rank.csv",header=TRUE)
rank<-as.matrix(rank)
friedman.test(rank)
结果是这样的
Friedman rank sum test
data: rank
Friedman chi-squared = 33.228, df = 6, p-value = 0.00000948
【问题讨论】:
-
不太确定你想做什么......绝对可以循环所有类型的集合(和子集)......我是否正确理解所有这些数据集都在单独的文件中每列 8 列,您要循环遍历
read.csv和friedman.test? -
数据在一个2680列的文件中。我需要遍历所有列,但是以 8 个为一组(我在上面的示例数据中删除了一个 id 列)。我只需要知道如何设置 For 循环。我也考虑过使用 Apply 函数,但我不确定这是否适用于此。
-
所以您的意思是首先在 1:8 列上进行测试,然后是 9:16、17:24 等?
-
是的,完全正确。我想也许可以使用 sapply 并将其应用于列,但是如何将其应用于 8 列的集合中。
标签: r loops statistics apply