Thanks , It works. Is it possible to print the row-ids as well along with the values? And also could you please explain how this was done ?
Correlation Of Correlations In R
I have two gene correlation matrices A and B,
seed(1)
X <- data.frame(matrix(rnorm(2000), nrow=10))
Y <- data.frame(matrix(rnorm(2000), nrow=10))
I would like to find the correlation between each row of A and B in the following way. For example there should be a correlation value for row 1 of X and row 1 of Y.
Similarly applying for all rows there will be in total ten values ( because there are ten rows)
• 5,919 views
•
link
1 answer
Try this:
X <- matrix(rnorm(2000), nrow=10)
Y <- matrix(rnorm(2000), nrow=10)
apply(matrix(1:10),1,
function(rowID){
cor.test(X[rowID,],Y[rowID,])$estimate
})
• 96 views
•
link
• 0 views
•
link
There are great guides on R at stackoverflow.
• 122 views
•
link
You should really use sapply if you want to do it this way, i.e. sapply(1:10, function(row) cor(X[row,], Y[row,]))
edit: a more satisfying method is diag(cor(t(X), t(Y))) (I'll admit I had to google for this in the end)
• 135 views
•
link
Log in to answer this question.