【发布时间】:2021-02-25 05:19:33
【问题描述】:
我有一个名为“new_files”的大型列表,列表中包含许多数据框
我想创建一个新的数据框或表格,在一列中输出列表名称([[1]]、[[2]] 等),在第二列中输出该列表的平均值第三列中的标准差。在此上下文中具有有意义信息的列是第 1 列。
【问题讨论】:
我有一个名为“new_files”的大型列表,列表中包含许多数据框
我想创建一个新的数据框或表格,在一列中输出列表名称([[1]]、[[2]] 等),在第二列中输出该列表的平均值第三列中的标准差。在此上下文中具有有意义信息的列是第 1 列。
【问题讨论】:
你可以试试lapply:
data <- do.call(rbind, lapply(seq_along(new_files), function(i) {
data.frame(name = i, mean = mean(new_files[[i]][[1]], na.rm = TRUE),
sd = sd(new_files[[i]][[1]], na.rm = TRUE))
}))
用imap_dfr 稍微短一点:
data <- purrr::imap_dfr(new_files,
~data.frame(name = .y,
mean = mean(.x[[1]], na.rm = TRUE),
sd = sd(.x[[1]], na.rm = TRUE)))
【讨论】: