[R] decompose a correlation matrix
Mark Strivens
strivens at bcm.tmc.edu
Thu Sep 23 23:09:49 CEST 2004
Thanks guys for the help, here's the final (grizzly?)
solution:
#generate a correlation matrix
cm<-cor(someDataFrame, y = NULL ...)
# get the list of labels (included in the dataframe)
labels<-labels(cm)[[1]]
# retrieve the uppper portion of the correlation matrix (as logical values)
idx <- upper.tri(cm)
# combine the logical values with the marker list
mcm<-cbind(marker=paste((markers[col(t(cm))[idx]],'&',markers[row(t(cm))[idx
]]),
row=row(t(cm))[idx], col=col(t(cm))[idx], value=cm[idx])
gives the format:
label2 & label1 1 2 0.97712
label3 & label1 1 3 0.84587
label4 & label1 1 4 0.92184
label5 & label1 1 5 0.54698
There seemed to be some issues with the row()and col()
commands not thinking the output of cor() was a matrix
so I used t() to force it into a table...
_________________________
Department of Molecular and Human Genetics,
Baylor College of Medicine,
1 Baylor Plaza,
Houston,
TX 77030.
713-798-1947 (work)
832-876-7956 (cell)
More information about the R-help
mailing list