У меня есть проблема, когда объединение следующих векторов, включенных в список:Как объединить векторы с разной длиной в списке в 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
в то время как я хотел бы получить это:
> [,1] [,2] > species.A 1 3 > species.B NA 19 > species.C 4 11
Могли бы в строке назначение x2, и упростить его как 'do.call (cbind, lapply (x, '[', spp))' –
Я вырвал задание и сделал определение FUN более явным для ясности, так как я считаю справедливым заключить, что OP относительный новичок. Но да, это все можно было сделать в одной строке. На самом деле, я мог бы также добавить это как быстрое редактирование. Благодарю. –
Довольно разумно; Я просто указывал на альтернативу. –