数据子集:R中列表中的列表

时间:2014-01-20 14:39:34

标签: r subset

我有一个包含100个列表的列表,每个列表有552个数值。如何从100个列表中的每个列表中依次提取第一个值(依此类推552)?

示例:包含数字1-10

的列表中的5个列表
list(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), c(1, 2, 3, 4, 5, 6, 7, 
8, 9, 10), c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), c(1, 2, 3, 4, 5, 
6, 7, 8, 9, 10), c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))

我想顺序提取每个术语,即1,1,1,1,1然后 2,2,2,2,2等等

1 个答案:

答案 0 :(得分:0)

这个语句产生一个向量列表,取每个原始向量的第一个元素,第二个元素等,给出NA一个短向量的值:

num <-  max(unlist(lapply(x, length)))  ## Length of the longest vector in x

lapply(seq(num), function(i) unlist(lapply(x, `[`, i)))

这是一种矩阵方法:

matrix(unlist(x), ncol=length(x))

该矩阵的行是您的元素。这取决于每个向量的长度相同。