как объединить векторы разной длины в списке в R?

У меня возникла проблема при объединении следующих векторов, включенных в список:

x <- list(as.numeric(c(1,4)),as.numeric(c(3,19,11)))
names (x[[1]]) <- c("species.A","species.C")
names (x[[2]]) <- c("species.A","species.B","species.C")

что дает следующий список:

>x
>[[1]]
>species.A species.C 
>         1         4 
>[[2]]
>species.A species.B species.C 
>        3        19        11 

объединяю их с помощью функции do.call: y<- do.call(cbind,x)

дает:

>y
>             [,1] [,2]
>   species.A    1    3
>   species.B    4   19
>   species.C    1   11

while Я хотел бы получить следующее:

>             [,1] [,2]
>   species.A    1    3
>   species.B   NA   19
>   species.C    4   11
6
задан udo 5 January 2012 в 17:24
поделиться