Skip to content

spearman correlation and p-value as a matrix

2 messages · Ozgul Inceoglu, arun

#
you are right! I was so happy to find out the p-value criteria, I totally forgot about the spearman correlation, no I dont think there is an option of spearman correlation. Thank you for pointing that out!

Cheers,

?
?zg?l Inceoglu, PhD.

Universit? Libre de Bruxelles
Ecology of Aquatic Systems 
Campus de la plaine CP221  
Boulevard du triomphe  
1050 Bruxelles Belgium
#
Hi Ozgul,

Try this:
#Here I used the "pearson correlation" as `spearman` was not significant

resr<-do.call(rbind,lapply(split(bg_ag,1:nrow(bg_ag)),function(x) {res<-rcorr(cbind(bg[,x[,1]],ag[,x[,2]]),type="pearson")$r; row.names(res)<- rep(paste(x[1],x[2],sep="_"),2);res})) 
#p-values 
resP<-do.call(rbind,lapply(split(bg_ag,1:nrow(bg_ag)),function(x) {res<-rcorr(cbind(bg[,x[,1]],ag[,x[,2]]),type="pearson")$P; row.names(res)<- rep(paste(x[1],x[2],sep="_"),2);res}))
indx<-row(resr)%%2!=1 
?resPnew<-as.matrix(resP[indx[,1],1]) 
?resrnew<-as.matrix(resr[indx[,1],1])
resrnew1<-data.frame(read.table(text=row.names(resrnew),sep="_",stringsAsFactors=FALSE),value=resrnew)
?row.names(resrnew1)<-1:nrow(resrnew1)
library(reshape2)
resrnew2<- dcast(resrnew1,V2~V1,value.var="value") 

resPnew1<-data.frame(read.table(text=row.names(resPnew),sep="_",stringsAsFactors=FALSE),value=resPnew)
row.names(resPnew1)<-1:nrow(resPnew1)
resPnew2<-dcast(resPnew1,V2~V1,value.var="value") 

resrnew2[,-1][resPnew2[,-1]>0.10|is.na(resPnew2[,-1])]<- 0? #also I used the cut-off limit as 0.10 because:
#correlation value for a p-value of 0.07 was also included in the ?cor2m() result

resPnew2
?#? V2?? Otu00022 Otu00029?? Otu00039 Otu00042?? Otu00101 Otu00105 Otu00125
#1 ag1 0.81044832????? NaN 0.81044832????? NaN 0.17157638????? NaN????? NaN
#2 ag2 0.19359426????? NaN 0.19359426????? NaN 0.07062624 ??? NaN????? NaN
#3 ag3 0.01745244????? NaN 0.01745244????? NaN 0.61105696????? NaN????? NaN
#4 ag4 0.95446965????? NaN 0.95446965????? NaN 0.24387489????? NaN????? NaN
#5 ag5 0.87628767????? NaN 0.87628767????? NaN 0.62117658????? NaN????? NaN
?# Otu00131?? Otu00137 Otu00155 Otu00158 Otu00172 Otu00181 Otu00185?? Otu00190
#1????? NaN 0.81044832????? NaN????? NaN????? NaN????? NaN????? NaN 0.81044832
#2????? NaN 0.19359426????? NaN????? NaN????? NaN????? NaN????? NaN 0.19359426
#3????? NaN 0.01745244????? NaN????? NaN????? NaN????? NaN????? NaN 0.01745244
#4????? NaN 0.95446965????? NaN????? NaN????? NaN????? NaN????? NaN 0.95446965
#5????? NaN 0.87628767????? NaN????? NaN????? NaN????? NaN????? NaN 0.87628767
?# Otu00209?? Otu00218
#1????? NaN 0.81044832
#2????? NaN 0.19359426
#3????? NaN 0.01745244
#4????? NaN 0.95446965
#5????? NaN 0.87628767


cor2m(bg,ag,trim=TRUE,alpha=0.05)
#????? Otu00022 Otu00029?? Otu00039 Otu00042? Otu00101 Otu00105 Otu00125
#ag1? 0.0000000????? NaN? 0.0000000????? NaN 0.0000000????? NaN????? NaN
#ag2? 0.0000000????? NaN? 0.0000000????? NaN 0.7743597????? NaN????? NaN
#ag3 -0.8901029????? NaN -0.8901029????? NaN 0.0000000????? NaN????? NaN
#ag4? 0.0000000????? NaN? 0.0000000????? NaN 0.0000000????? NaN????? NaN
#ag5? 0.0000000????? NaN? 0.0000000????? NaN 0.0000000????? NaN????? NaN
?# ? Otu00131?? Otu00137 Otu00155 Otu00158 Otu00172 Otu00181 Otu00185?? Otu00190
#ag1????? NaN? 0.0000000????? NaN????? NaN????? NaN????? NaN????? NaN? 0.0000000
#ag2????? NaN? 0.0000000????? NaN????? NaN????? NaN????? NaN????? NaN? 0.0000000
#ag3????? NaN -0.8901029????? NaN????? NaN????? NaN????? NaN????? NaN -0.8901029
#ag4????? NaN? 0.0000000????? NaN????? NaN????? NaN????? NaN????? NaN? 0.0000000
#ag5????? NaN? 0.0000000????? NaN????? NaN????? NaN????? NaN????? NaN? 0.0000000
?# ? Otu00209?? Otu00218
#ag1????? NaN? 0.0000000
#ag2????? NaN? 0.0000000
#ag3????? NaN -0.8901029
#ag4????? NaN? 0.0000000
#ag5????? NaN? 0.0000000


resrnew2
#?? V2?? Otu00022 Otu00029?? Otu00039 Otu00042? Otu00101 Otu00105 Otu00125
#1 ag1? 0.0000000??????? 0? 0.0000000??????? 0 0.0000000??????? 0??????? 0
#2 ag2? 0.0000000??????? 0? 0.0000000??????? 0 0.7743597??????? 0??????? 0
#3 ag3 -0.8901029??????? 0 -0.8901029??????? 0 0.0000000??????? 0??????? 0
#4 ag4? 0.0000000??????? 0? 0.0000000??????? 0 0.0000000??????? 0??????? 0
#5 ag5? 0.0000000??????? 0? 0.0000000??????? 0 0.0000000??????? 0??????? 0
?# Otu00131?? Otu00137 Otu00155 Otu00158 Otu00172 Otu00181 Otu00185?? Otu00190
#1??????? 0? 0.0000000??????? 0??????? 0??????? 0??????? 0??????? 0? 0.0000000
#2??????? 0? 0.0000000??????? 0??????? 0??????? 0??????? 0??????? 0? 0.0000000
#3??????? 0 -0.8901029??????? 0??????? 0??????? 0??????? 0??????? 0 -0.8901029
#4??????? 0? 0.0000000??????? 0??????? 0??????? 0??????? 0??????? 0? 0.0000000
#5??????? 0? 0.0000000??????? 0??????? 0??????? 0??????? 0??????? 0? 0.0000000
#? Otu00209?? Otu00218
#1??????? 0? 0.0000000
#2??????? 0? 0.0000000
#3??????? 0 -0.8901029
#4??????? 0? 0.0000000
#5??????? 0? 0.0000000
#If you want the Na values to remain as such use:
resrnew2[,-1][resPnew2[,-1]>0.10]<- 0 

?resrnew2
#?? V2?? Otu00022 Otu00029?? Otu00039 Otu00042? Otu00101 Otu00105 Otu00125
#1 ag1? 0.0000000????? NaN? 0.0000000????? NaN 0.0000000????? NaN????? NaN
#2 ag2? 0.0000000????? NaN? 0.0000000????? NaN 0.7743597????? NaN????? NaN
#3 ag3 -0.8901029????? NaN -0.8901029????? NaN 0.0000000????? NaN????? NaN
#4 ag4? 0.0000000????? NaN? 0.0000000????? NaN 0.0000000????? NaN????? NaN
#5 ag5? 0.0000000????? NaN? 0.0000000????? NaN 0.0000000????? NaN????? NaN
?# Otu00131?? Otu00137 Otu00155 Otu00158 Otu00172 Otu00181 Otu00185?? Otu00190
#1????? NaN? 0.0000000????? NaN????? NaN????? NaN????? NaN????? NaN? 0.0000000
#2????? NaN? 0.0000000????? NaN????? NaN????? NaN????? NaN????? NaN? 0.0000000
#3????? NaN -0.8901029????? NaN????? NaN????? NaN????? NaN????? NaN -0.8901029
#4????? NaN? 0.0000000????? NaN????? NaN????? NaN????? NaN????? NaN? 0.0000000
#5????? NaN? 0.0000000????? NaN????? NaN????? NaN????? NaN????? NaN? 0.0000000
?# Otu00209?? Otu00218
#1????? NaN? 0.0000000
#2????? NaN? 0.0000000
#3????? NaN -0.8901029
#4????? NaN? 0.0000000
#5????? NaN? 0.0000000


Hope it helps.
A.K.

----- Original Message -----
From: Ozgul Inceoglu <Ozgul.Inceoglu at ulb.ac.be>
To: arun <smartpink111 at yahoo.com>
Cc: R help <r-help at r-project.org>
Sent: Thursday, February 14, 2013 10:22 AM
Subject: re:Re: [R] spearman correlation and p-value as a matrix

you are right! I was so happy to find out the p-value criteria, I totally forgot about the spearman correlation, no I dont think there is an option of spearman correlation. Thank you for pointing that out!

Cheers,

?
?zg?l Inceoglu, PhD.

Universit? Libre de Bruxelles
Ecology of Aquatic Systems 
Campus de la plaine CP221? 
Boulevard du triomphe? 
1050 Bruxelles Belgium?