one way is the following: V1 <- c(1,1,1,2,3,3,3,3) V2 <- LETTERS[c(1,1,2,1,3,1,3,2)]
tab <- table(V1, ave(V1, V1, FUN = seq_along)) vals <- as.vector(t(tab)) vals[vals != 0] <- unlist(split(V2, V1)) vals[vals == 0] <- NA matrix(vals, nrow(tab), ncol(tab), TRUE) I hope it helps. Best, Dimitris ---- Dimitris Rizopoulos Ph.D. Student Biostatistical Centre School of Public Health Catholic University of Leuven Address: Kapucijnenvoer 35, Leuven, Belgium Tel: +32/(0)16/336899 Fax: +32/(0)16/337015 Web: http://med.kuleuven.be/biostat/ http://www.student.kuleuven.be/~m0390867/dimitris.htm ----- Original Message ----- From: "Christopher Marcum" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, December 20, 2007 8:33 AM Subject: [R] factor manipulation: edgelist to a matrix? > Hello All, > > I have had considerable bad luck with attempting the following with > for > loops. Here is the problem: > > > # Suppose we have a data.frame with the following data, which can be > considered a type of edgelist (for those with networks backgrounds): > # > # V1 V2 > # 1 A > # 1 A > # 1 B > # 2 A > # 3 C > # 3 A > # 3 C > # 3 B > # > # I want the output of the function to produce a matrix, such that > #each > factor of V1 is a row, and each corresponding value at position k of > V2 is > the i,j^th element of the new matrix, with missing values otherwise. > The > desired output should be: > # [,1] [,2] [,3] [,4] > # [1,] A A B NA > # [2,] A NA NA NA > # [3,] C A C B > > I have explored the reshape package as well as the network package > in this > pursuit, with no luck. > > Thanks, > Chris Marcum > UCI Sociology > > ______________________________________________ > 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. > Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm ______________________________________________ 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.