gpt4 book ai didi

r - 将元素列表上的行绑定(bind)到 data.frame 列表

转载 作者:行者123 更新时间:2023-12-04 06:47:54 25 4
gpt4 key购买 nike

我有 R 元素列表,并且想要绑定(bind)列表中的所有元素。每行都基于列类绑定(bind)到 data.frame。实际数据很大,每个类都有不同的列。这是示例

df_list <- list()
df_list[[1]] <- data.frame(Class = "x", y = 1, stringsAsFactors = F)
df_list[[2]] <- data.frame(Class = "x", y = 2, stringsAsFactors = F)
df_list[[3]] <- data.frame(Class = "a", y = 3, stringsAsFactors = F)
df_list[[4]] <- data.frame(Class = "x", y = 4, stringsAsFactors = F)
df_list[[5]] <- data.frame(Class = "a", y = 5, stringsAsFactors = F)

期望的输出,看起来这是以编程方式完成的

df_list_out <- list()

df_list_out[[1]] <- bind_rows(data.frame(Class = "x", y = 1,
stringsAsFactors = F),
data.frame(Class = "x", y = 2,
stringsAsFactors = F),
data.frame(Class = "x", y = 4,
stringsAsFactors = F))


df_list_out[[2]] <- bind_rows(data.frame(Class = "a", y = 3,
stringsAsFactors = F),
data.frame(Class = "a", y = 5,
stringsAsFactors = F))

最佳答案

一种方法是将数据帧列表 rbind 在一起,然后 split

temp <- do.call(rbind, df_list)
split(temp, temp$Class)

#$a
# Class y
#3 a 3
#5 a 5

#$x
# Class y
#1 x 1
#2 x 2
#4 x 4

dplyr中,我们可以做到

library(dplyr)

df_list %>% bind_rows() %>% group_split(Class)

关于r - 将元素列表上的行绑定(bind)到 data.frame 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58742022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com