R 从列表中提取相同的索引元素

R 从列表中提取相同的索引元素,r,list,apply,R,List,Apply,这个问题是问题的延伸 以下几点可能会有所帮助 sapply(1:3, function(k) sapply(d, function(x) x[k]),simplify = F) 或 如果列表中每个元素的长度相同,在本例中为3,则也可以 split.default(unlist(d), rep(seq(3), 3)) #$`1` #[1] 1 11 111 #$`2` #[1] 2 22 222 #$`3` #[1] 3 33 333 如果3可以通过唯一(长度(d))获

这个问题是问题的延伸

以下几点可能会有所帮助

sapply(1:3, function(k) sapply(d, function(x) x[k]),simplify = F)


如果列表中每个元素的长度相同,在本例中为3,则也可以

split.default(unlist(d), rep(seq(3), 3))

#$`1`
#[1]   1  11 111

#$`2`
#[1]   2  22 222

#$`3`
#[1]   3  33 333

如果3可以通过
唯一(长度(d))获得

我们可以使用
转置
展平

library(purrr)
d %>% 
    transpose %>%
     map(flatten_dbl)
#[[1]]
#[1]   1  11 111

#[[2]]
#[1]   2  22 222

#[[3]]
#[1]   3  33 333
Map(function(k) sapply(d, function(x) x[k]), 1:3)
split.default(unlist(d), rep(seq(3), 3))

#$`1`
#[1]   1  11 111

#$`2`
#[1]   2  22 222

#$`3`
#[1]   3  33 333
library(purrr)
d %>% 
    transpose %>%
     map(flatten_dbl)
#[[1]]
#[1]   1  11 111

#[[2]]
#[1]   2  22 222

#[[3]]
#[1]   3  33 333