Try his:

xtabs(corrs ~., myData)


On Sat, Jan 30, 2010 at 2:11 PM, Juliet Hannah <juliet.han...@gmail.com> wrote:
> 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.

Reply via email to