【问题标题】:select a specific columns in R nested list在 R 嵌套列表中选择特定列
【发布时间】:2016-07-30 16:29:46
【问题描述】:

假设我有一个数据框列表,就像这样:

M1 <- data.frame(matrix(1:4, nrow = 2, ncol = 2))
M2 <- data.frame(matrix(1:9, nrow = 3, ncol = 3))
M3 <- data.frame(matrix(1:4, nrow = 2, ncol = 2))

mlist <- list(M1, M2, M3)

现在我想从所有数据框中选择 X1 列,我试过了:

M.X1 <- mlist$X1

但以 NULL 失败:

> mlist$X1
NULL

我不想使用for 提取每个数据帧的X1,有更好的方法吗?如果提取列 X3 怎么办? (这意味着某些列可能不存在于其他行中)

【问题讨论】:

  • lapply(mlist, '[', 'X1)lapply(mlist, '[[', 'X3')
  • 没有引用:...'X1') 但它很震撼。
  • 是的,这是工作!为什么不将其添加到答案中?

标签: r list dataframe data-cleaning


【解决方案1】:

通常你可以使用lapply如下:

lapply(mlist, function(x) x$X2)

您在内部定义一个函数以传递给mlist 的每个成员的第二个参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 2022-01-18
    相关资源
    最近更新 更多