1

我正在尝试cor.test()在循环中使用 r 函数,但我无法完全使其“发挥作用”。我可以单独调用这些项目,但我更喜欢使用循环。

我的代码选择如下所示:

hNames= scan(fileName, nlines = 1, what = character(), sep = ',')
mydata = read.table(fileName, header = TRUE, sep = ',')
names = c(hNames[2:length(hNames)])

for (i in names(mydata[2:length(mydata)]))
{
        for (j in names(mydata[2:length(mydata)]))
        {cor.test(mydata[[i]], mydata[[j]], method='spearman')}
}

哪个不起作用(没有输出),但是,这样做:

cor.test(mydata$Bacteroidetes, mydata$Actinobacteria, method = 'spearman')

我已经尝试了循环的几种变体,但我一直得到一个错误,说'x'(或'y')必须是一个数字向量。

我的数据看起来像这样 (print(mydata))

PHYLUM Actino Bacter ...Tenericutes
x1     25       45    ...8
x1     26       42    ...8
x2     40       43    ...7
x2     42       41    ...5
x2     40       41    ...5

或以其原始格式:

PHYLUM,Actinobacteria,Bacteroidetes,...Tenericutes
x1,25,45,...8
x1,26,42,...8
x2,40,43,...7
x2,42,41,...5
x2,40,41,...5

我做错了什么,我该如何改变它,代码会产生一些输出?

非常感谢你。

4

1 回答 1

4

用 print 包围你对 cor.test 的调用。

于 2013-09-12T01:54:30.523 回答