【问题标题】:get column from list of dataframes R从数据框列表中获取列 R
【发布时间】:2015-04-03 01:10:01
【问题描述】:

我是 R 初学者,我被这个问题困住了。我有一个数据框,通过使用 split() 函数,我创建了一个数据框列表,例如:

dfList <- split(mtcars, mtcars$cyl)

现在我想检索特定数据框的列,例如来自数据框 1 的第 2 列,类似于

dfList[1][2]

我现在能做的是创建for 循环以进入数据结构。但是如果存在的话,我找不到一个单行机来做。我怎样才能做到这一点?提前致谢!

【问题讨论】:

  • 试试lapply(dfList, '[[', 2)。如果你需要它作为矩阵sapply(dfList, '[[',2)
  • 也许你想使用dfList[[1]][2]?这是一个供您测试的示例:lst &lt;- split(mtcats, mtcars$cyl),然后是lst[[1]][2]
  • lapply(dfList, '[[', 2) wowza R 语法真的是最差的

标签: r list split dataframe


【解决方案1】:

我将 docendo 的评论放在这里以结束这个问题。

如果您想从列表中提取元素(并将其视为 data.frame)而不是子集列表(以创建较小的列表),则需要使用 [[ ]] 语法。另外,要从 data.frame 中按索引获取列,您需要使用[[ idx ]][, idx ]。这些是非常基本的索引操作,如果您将在 R 中编程,您可能需要查看它们。所以您的“正确”调用可能是

dfList[[1]][[2]]

【讨论】:

    猜你喜欢
    • 2021-05-14
    • 1970-01-01
    • 2022-01-26
    • 2021-06-27
    • 2017-01-25
    • 1970-01-01
    • 2015-11-21
    • 2020-05-21
    • 1970-01-01
    相关资源
    最近更新 更多