Hi Group, Consider a data frame like this:
mylabel1 <- rep(c("A","B","C"),each=3) mylabel2 <- rep(c("A","B","C"),3) corrs <- c(1,.8,.7,.8,1,.7,.7,.7,1) myData <- data.frame(mylabel1,mylabel2,corrs) myData mylabel1 mylabel2 corrs 1 A A 1.0 2 A B 0.8 3 A C 0.7 4 B A 0.8 5 B B 1.0 6 B C 0.7 7 C A 0.7 8 C B 0.7 9 C C 1.0 I would like to find a general way to get this matrix from the above dataframe. corrmat <- matrix(corrs,nrow=3,byrow=TRUE) row.names(corrmat) <- c("A","B","C") colnames(corrmat) <- c("A","B","C") corrmat A B C A 1.0 0.8 0.7 B 0.8 1.0 0.7 C 0.7 0.7 1.0 The solution I have is the one above where I rearrange the data so that I can just use matrix() on one of the columns. I am looking for a solution in which I don't have to do this. Thanks, Juliet ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.