0
我.csv格式的数据是这样的:对包含在两列(x,y)中的所有数据对执行Spearman相关?
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
当我运行COR()这样:
d <- read.csv("name.csv")
cor(rank(test[,3]),rank(test[,4])
[1] 0.777888
我假定这是所有的相关测试,但我平均R如果我能得到每个样品/ OTU每个测试单独的R(X与Y)宁愿这样的,我可以写一个表,看起来像这样:
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沿着加速这一:
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)
按“样本/ OTUID”分组时,您的当前数据每组有1行。你能澄清更好的想法吗?例如,'OTUID = 00001'和'SampleID ='Sample1''只有一行。 – steveb
它有助于提供样本数据作为可复制的数据框 –
您的代码也是错误的:cor(rank(test [,3]),rank(test [,4])缺少右括号。该点,它不清楚你在找什么,两点不作相关(两个点在一排,这是一个观察...) –