将data.frames列表拆分为data.frames的子列表

时间:2013-02-19 11:18:04

标签: r

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

列表
[[1]]
    .....
  清单
   [[2]]
  ....

列表
[[95]]

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

类似的东西:

  

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

等等

有人能帮帮我吗?

最好,

F。

2 个答案:

答案 0 :(得分: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]] ......

答案 1 :(得分: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"