【问题标题】:R create new list of dataframes of a list of dataframesR创建数据框列表的新数据框列表
【发布时间】:2015-04-21 21:45:29
【问题描述】:

我有一个数据框列表(名为结果的列表),现在我想创建一个新的数据框列表,但不知何故我无法弄清楚。 我尝试了两个版本,一个带有循环,一个带有 lapply。在这种特殊情况下,我想提取一些列(具有特定名称)并将其存储在一个新的数据框列表中(称为 l)

l<- lapply (results, function (i)results[[i]][, c("c1","c2")])

for (c in seq_along(results)){
  print(l[i]<-results[[i]][, c("c1","c2")])
}

第一个函数告诉我,类型列表这样做是无效的。 第二个函数只打印它,但这不允许进一步分析。如果我不使用打印,则仅评估最后一个选项。 理想情况下,我想对这个循环中的“l”数据帧做几件事,例如,融化 l 和添加列。 你有什么暗示我一直在误解吗? 非常感谢!!

【问题讨论】:

  • 试试l1 &lt;- lapply(results, function(x) x[c('c1', 'c2')])
  • 这似乎很简单,我应该自己想出来的——谢谢你的帮助!

标签: r list function loops dataframe


【解决方案1】:

应该是这样的:

l<- lapply (results, function (df) df[  c("c1","c2") ])

如果你想用序列号索引,也可以是

l<- lapply ( seq_along(results) , function (i)results[[i]][, c("c1","c2")])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-10
    • 2022-01-03
    • 1970-01-01
    • 2021-03-18
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    相关资源
    最近更新 更多