Try this:

matrix(unlist(lapply(a, '[', 1:max(sapply(a, length)))), ncol = 4, byrow =
TRUE)

or

 do.call(rbind, lapply(a, '[', 1:max(sapply(a, length))))


On Mon, Jun 22, 2009 at 8:15 PM, Kenneth Takagi <kat...@psu.edu> wrote:

> Hi,
>
>
>
> I have a list made up of character strings with each item a different
> length (each item is between 1and 6 strings long).  Is there a way to
> convert a "ragged" list to a matrix such that each item is its own row?
> Here is a simple example:
>
>
>
> a=list();
>
> a[[1]] = c("a", "b", "c");
>
> a[[2]] = c("d", "e");
>
> a[[3]] = c("f", "g", "h", "i");
>
>
>
> I would like to convert the list to a matrix (or data frame) in this
> form, with the "missing" entries "NA" or something similar:
>
>
>
>     [,1] [,2] [,3] [,4]
>
> [1,] "a"  "b"  "c"  "NA"
>
> [2,] "d"  "e"  "NA"  "NA"
>
> [3,] "f"  "g"  "h"  "i"
>
>
>
>
>
> Any suggestions?
>
>
>
> Thanks!
>
>
>
>
>
> Ken
>
> kat...@psu.edu
>
>
>
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>



-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O

        [[alternative HTML version deleted]]

______________________________________________
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