私のデータは次のようになります。2つの列(x、y)に含まれるすべてのデータペアに対してスピアマン相関を実行しますか? .csv形式で
私のような)(COR実行sampleid blue red otuid
AB1 0.001020366 0.000262013 K00001
AB1 7.24E-05 0.00000307 K00002
AB1 0.000500854 0.000635104 K00003
AB1 3.50E-05 0.000000555 K00004
AB1 0.000196537 0.0000346 K00005
AB1 2.56E-05 2.92E-08 K00006
AB1 0.00027525 0.0000392 K00007
AB1 0.000177602 0.000000994 K00008
AB1 0.000128098 0.000151901 K00009
AB1 1.46E-06 0.000000468 K00010
AB1 0.000348187 0.000571836 K00011
AB1 0.000448518 0.000435364 K00012
AB1 0.000490293 0.000729903 K00013
AB1 0.000263668 0.00000567 K00014
AB1 0.00054961 0.000406697 K00015
AB2 0.001020366 0.000262013 K00001
AB2 7.24E-05 0.00000307 K00002
AB2 0.000500854 0.000635104 K00003
AB2 3.50E-05 0.000000555 K00004
AB2 0.000196537 0.0000346 K00005
AB2 2.56E-05 2.92E-08 K00006
AB2 0.00027525 0.0000392 K00007
AB2 0.000177602 0.000000994 K00008
AB2 0.000128098 0.000151901 K00009
AB2 1.46E-06 0.000000468 K00010
AB2 0.000348187 0.000571836 K00011
AB2 0.000448518 0.000435364 K00012
AB2 0.000490293 0.000729903 K00013
AB2 0.000263668 0.00000567 K00014
AB2 0.00054961 0.000406697 K00015
:
d <- read.csv("name.csv")
cor(rank(test[,3]),rank(test[,4])
[1] 0.777888
私は、これはすべての相関テストが、私の平均Rであると仮定しています私は、テストごとにサンプル/ OTUあたりの個々のR(Y対X)を得ることができれば、私はこのようになりますテーブルを書き込むことができるように希望:あなたの助けを
otuid sampleid Spearman's R
k00001 Sample1 0.001
k00002 Sample1 0.012
k00003 Sample1 0.013
k00004 Sample1 0.015 ......
k00001 Sample2 0.001
k00002 Sample2 0.012
k00003 Sample2 0.013
k00004 Sample2 0.015
ありがとう!
Data.frameが一緒にこれを高速化する:purrrパッケージに次のようにコメントして、提供されたデータフレームを使用してに基づいて
sampleid = c("AB1","AB1","AB1","AB1","AB1","AB1","AB1","AB1","AB1",
"AB1","AB1","AB1","AB1","AB1","AB2","AB2","AB2","AB2","AB2","AB2","AB2",
"AB2","AB2","AB2","AB2","AB2","AB2","AB2","AB2","AB2")
red = c(runif(30,0,100))
blue = c(runif(30,0,100))
otuid =c("K00001","K00002","K00003","K00004","K00005","K00006",
"K00007","K00008","K00009","K00010","K00011","K00012",
"K00013","K00014","K00015","K00001","K00002","K00003","K00004",
"K00005","K00006","K00007","K00008","K00009","K00010",
"K00011","K00012","K00013","K00014","K00015")
df = data.frame(sampleid, red, blue,otuid)
df
print(p)
"sample/OTUID"でグループ化したときの現在のデータには、グループごとに1行があります。あなたはより良いことを明確にすることができますか?たとえば、 'OTUID = 00001'と' SampleID = 'Sample1''の行は1つだけです。 – steveb
サンプルデータを再現できるデータフレームとして提供するのに役立ちます –
あなたのコードも間違っています: 'cor(rank(test [、3])、rank(test [、4])'閉じ括弧がありません。ポイント、それはあなたが探しているかはっきりしていない、2つのポイントは、相関を作成しない(1つの行に2つのポイント、それは1つの観測...) –