【发布时间】:2013-09-26 18:05:09
【问题描述】:
我们有一个向量列表(不同长度的):
foo <- list(1:3,NULL,2:7)
我们需要的是一个包含两列的data.frame:项目和列表编号,如下所示:
data.frame(Item=c(1:3,2:7), List=c(1,1,1,3,3,3,3,3,3))
这里Item 列是foo 中项目的向量,List 列显示每个项目属于foo 的哪个列表。
这可以像下面这样完成:
data.frame(Item=unlist(foo),
List=unlist(lapply(seq_along(foo), function(i) rep(i, length(foo[[i]])))))
但我正在寻找更有创意和更有效的解决方案。你有更好的想法吗?
【问题讨论】: