1

r 関数をループで使用しようとしていますがcor.test()、「関数」にすることができません。アイテムを個別に呼び出すこともできますが、ループを使用したいと思います。

私のコードの選択は次のようになります。

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

cor.test への呼び出しを print で囲みます。

于 2013-09-12T01:54:30.523 に答える