2013-02-19 2 views
3

у меня есть список data.frames, который выглядит как:разделить список data.frames в подсписков из data.frames

Список
[[1]]
.....
Список
[[2]]
....

Список
[[95]]

Я хотел бы разделить эту LON g список data.frames в подсписок из 3 data.frames каждый, чтобы сделать другие вычисления простым и легким способом.

Что-то вроде:

sublist1 < - Список [1: 3]
sublist2 < - Список [3: 6]
sublist3 < - Список [6: 9]

и т. д.

Может ли кто-нибудь мне помочь?

лучше,

F.

+1

Что вы имеете в виду вы хотели бы «расщепить» список? Вы имеете в виду назначение подмножеств списка новым объектам в вашей рабочей области? Почему бы просто не запускать ваши вычисления на подмножествах напрямую? – A5C1D2H2I1M1N2O1R2T1

+0

Привет, Ананда! Да, я хотел бы назначить подмножества списка новым объектам. Он должен запускать вычисления и визуализировать вывод проще всего. – Fuv8

+1

@ Fuv8 Рассматривали ли вы размещение всех этих подмножеств в качестве элементов в списке? Я стараюсь, если это возможно, избегать загромождения рабочего пространства. –

ответ

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 

И так далее, Л.Л. [[2]] ...

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" 
+0

Привет, Арун! Большое спасибо! – Fuv8

+0

@ Fuv8, конечно! Хотя я должен сказать, что лучше иметь дело с 'list-of-lists' вместо того, чтобы назначать каждый из этих списков отдельной переменной (как предлагает sebastian-c, и agstudy предоставляет решение). – Arun