1

R 相当新,并且花费大量时间来解决问题......我有一个mydata包含超过 14k 列的大表(名为)。这是一个简短的观点......

Latitude    comp48109   comp48326   comp48827   comp49708   comp48407   comp48912
59.8    21  29  129 440 23  13
59.8    18  23  32  129 19  34
59.8    19  27  63  178 23  27
53.1    21  28  0   0   26  10
53.1    15  21  129 423 25  36
53.1    18  44  44  192 26  42
48.7    14  32  0   0   17  42
48.7    11  26  0   0   20  33
48.7    24  37  0   0   26  20
43.6    34  40  1   3   23  4
43.6    19  28  0   1   26  33
43.6    19  35  0   0   14  3
41.4    22  67  253 1322    15  4
41.4    44  39  0   0   11  14
41.4    24  41  63  174 12  4
39.5    21  45  102 291 12  17
39.5    17  26  69  300 16  79
39.5    13  46  151 526 14  14

尽管我设法获得了第一列(“纬度”)与其他列的相关分数

corrScores <- cor(Latitude, mydata[2:14429])

我需要通过应用函数来获取 p 值列表cor.test(x, y,...)$p.value

我怎样才能做到这一点而不会出现错误'x' and 'y' must have the same length

4

1 回答 1

2

您可以使用sapply

sapply(mydata[-1], function(y) cor.test(mydata$Latitude, y)$p.value)

#   comp48109   comp48326   comp48827   comp49708   comp48407   comp48912 
# 0.331584624 0.020971913 0.663194866 0.544407919 0.005375973 0.656831836 

这里,mydata[-1]表示:mydata除第一列之外的所有列。

于 2014-01-27T16:19:38.507 回答