【发布时间】: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 <- lapply(results, function(x) x[c('c1', 'c2')]) -
这似乎很简单,我应该自己想出来的——谢谢你的帮助!
标签: r list function loops dataframe