У меня есть два (или более) списка из того же количества кадров данных и вы хотите объединить свои кадры данных из разных списков в одном списке. Таким образом, в качестве вывода я хочу получить один список из того же количества кадров данных, что и в каждом отдельном списке.объединить кадры данных из разных списков в одном списке
Звучит немного сложно, но в основном я хочу сделать это в расширяемой и более простой способ:
d1 <- data.frame(y1=c(1,2,3),y2=c(4,5,6))
d2 <- data.frame(y1=c(3,2,1),y2=c(6,5,4))
l1 <- list(d1,d2)
d3 <- data.frame(y1=c(11,22,33),y2=c(44,55,66))
d4 <- data.frame(y1=c(33,22,11),y2=c(66,55,44))
l2 <- list(d3,d4)
new_d1 <- do.call(rbind,list(l1[[1]],l2[[1]]))
new_d2 <- do.call(rbind,list(l1[[2]],l2[[2]]))
output <- list(new_d1,new_d2)
Вывод должен чем выглядеть следующим образом:
> output
[[1]]
y1 y2
1 1 4
2 2 5
3 3 6
4 11 44
5 22 55
6 33 66
[[2]]
y1 y2
1 3 6
2 2 5
3 1 4
4 33 66
5 22 55
6 11 44
Кроме того, что функция может Я использую, если l1 и l2 уже сидят в списке сами?
Я уже смотрел lapply()
и sapply()
, но обе функции не подходят. На форумах я только нахожу решения для объединения списка кадров данных в одном кадре данных.
'Карта (rbind, l1, l2)'? –
@docendodiscimus Пожалуйста, разместите его как asnwer и закройте это. – akrun
Я оставлю это вам, @akrun. Не стесняйтесь восстановить свой ответ - я не против, если вы добавите «Карта». Я считаю, что это дубликат в любом случае –