do.call(rbind,lapply(split(as.character(z[,2]),z[,1]), function(x) c(x, rep(NA, max(table(z[,1]))-length(x)))))
Jacques VESLOT CEMAGREF - UR Hydrobiologie Route de Cézanne - CS 40061 13182 AIX-EN-PROVENCE Cedex 5, France Tél + 0033 04 42 66 99 76 email [EMAIL PROTECTED] >-----Message d'origine----- >De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] De >la part de Christopher Marcum >Envoyé : jeudi 20 décembre 2007 08:33 >À : [EMAIL PROTECTED] >Objet : [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. ______________________________________________ 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.