我结合包括在列表下面的载体时,有一个问题:如何在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)' – 2012-01-05 17:35:05
为了清楚起见,我突然分配了这个任务,并且为了清晰起见使得FUN定义更加明确,因为我认为公平地断定OP是一个相对的新手。但是,是的,这可以全部在一行中完成。实际上,我不妨将其添加为快速编辑。谢谢。 – 2012-01-05 17:39:15
相当合理;我只是指出了一个选择。 – 2012-01-05 17:43:05