try this: L3 <- LETTERS[1:3] x=c(1,1,2,2,3,3,4,4,5,5) y=1:10 d <- data.frame(cbind(x,y), fac=I(sample(L3, 10, replace=TRUE))) m.out <- matrix(ncol=10, nrow=10) m.out[cbind(d$x, d$y)] <- d$fac
On Tue, Jan 6, 2009 at 3:29 AM, <poas...@umich.edu> wrote: > Dear Sir or Madam, > > I have the following data frame (which is just a toy example of my larger > dataset) > > L3 <- LETTERS[1:3] > x=c(1,1,2,2,3,3,4,4,5,5) > y=1:10 > d <- data.frame(cbind(x,y), fac=sample(L3, 10, replace=TRUE)) > > > This data frame produces the following output > > x y fac > 1 1 1 C > 2 1 2 C > 3 2 3 B > 4 2 4 B > 5 3 5 C > 6 3 6 B > 7 4 7 B > 8 4 8 C > 9 5 9 B > 10 5 10 A > > > Is there a command I can use to convert data frame d into a 10 X 10 > symmetric matrix where the columns are labeled 1 through 10, the rows are > labeled 1 through 10, and the entries in each cell are the corresponding > values of "fac"? > > For example, the first two columns and rows should have the following > entries: > > 1 2 > 1 C C > > 2 C NA > > Any suggestions will be greatly appreciated. > > Many thanks, > > Paul Poast > > ______________________________________________ > 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. > -- Jim Holtman Cincinnati, OH +1 513 646 9390 What is the problem that you are trying to solve? ______________________________________________ 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.