3

我有一个 data.frames 列表,如下所示:

List          
[[1]]                
    .....               
  List             
   [[2]]            
  ....           

 List              
[[95]]   

我想将这个长长的 data.frames 列表拆分为 3 个 data.frames 的子列表,以便以简单易行的方式进行其他计算。

就像是:

sublist1 <- List[1:3]
sublist2 <- List[3:6]
sublist3 <- List[6:9]

等等。

4

2 回答 2

3

我会做这样的事情:

ll <- by(seq_along(l),cut(seq_along(l),3),
                 FUN=function(x)l[x])

现在我有一个包含 3 个列表的列表。例如要访问第一个子列表,您可以执行以下操作:

ll[[1]]
[[1]]
data frame with 0 columns and 0 rows

[[2]]
data frame with 0 columns and 0 rows

[[3]]
data frame with 0 columns and 0 rows

以此类推,ll[[2]]...

于 2013-02-19T12:18:56.757 回答
2

您可以使用assign并执行以下操作:

d <- data.frame()
l <- list(d,d,d,d,d,d,d,d,d)

for(i in seq(1, length(l), by=3)) {
    assign(paste0("x", i), l[i:(i+2)])
}

> ls()
# [1] "d"  "i"  "l"  "x1" "x4" "x7"
于 2013-02-19T11:33:00.140 回答