r - 列出 R 中数据帧的元素

标签 r

我将如何获取列表的元素并将它们制作成数据框,每个数据框名称与列表元素名称一致?

前任:

exlist <- list(west=c(2,3,4), north=c(2,5,6), east=c(2,4,7))

我绊倒的地方在于独特数据帧的实际命名——我不知道如何使用 for() 循环或 lapply 来做到这一点:
for(i in exlist) {
    i <- data.frame(exlist$i)
}

给了我一个名为 i 的空数据框,而我希望制作三个数据框(一个称为西,另一个称为北,另一个称为东)

当我使用 lapply 语法并调用单个列表元素名称时,我得到空数据框:
lapply(exlist, function(list) i <- data.frame(list["i"]))

产量
data frame with 0 columns and 0 rows
> $west
  list..i..
1        NA

$north
  list..i..
1        NA

$east
  list..i..
1        NA

最佳答案

如果要将列表元素转换为 data.frame s,你可以尝试

lapply(exlist, as.data.frame)

或者(如@Richard 所建议的),取决于您想要的输出:
lapply(exlist, as.data.frame.list)

总是 建议将多个数据框保存在一个列表中,而不是污染你的全局环境,但如果你坚持这样做,你可以使用 list2env (不要这样做),例如:
list2env(lapply(exlist, as.data.frame.list), .GlobalEnv)

关于r - 列出 R 中数据帧的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26414836/

相关文章:

r - R 图例中的多个 bquote 项

r - 如何在 R 中找到箱线图的上限和下限?

R + 将 n 周数添加到 YYYYWW 格式

r - xts::period.apply 和 cumprod

r - 将参数传递给使用 dplyr R 的函数内的回归模型

r - 旋转多列 R

r - 在 R 中传输矩阵列的标题名称

r - 应用 if else 函数循环遍历 2 个向量来操作数据表

sql - 如何使用 R 中其他数据帧的列查询数据帧

r - 动态函数和 R 的对象系统