【发布时间】:2016-10-25 03:02:35
【问题描述】:
我有一堆不同的数据框,我想对每个数据框运行相同的自定义函数。我希望将输出返回到每个原始数据框名称中,而不是列表中。
假设我有一堆不同的数据框:
mtcars1,mtcars2,mtcars3.....mtcars20。在 CYL 列中,每一个都将具有不同的因子水平。我想运行一个函数:
- 将 CYL 值从一个因子返回为一个数字 - as.numeric(as.character())
- 计算一些新列,该列是 mpg 的滚动平均值。
现在执行此操作并应用此功能的代码是什么?同样,我希望输出全部为 mtcars1...mtcars20 数据帧。
我试过看
lapply(mylist=c(mtars1...mtcars20) function(x) myfunct())
但我遇到了麻烦。
【问题讨论】:
-
这迫切需要一个data.frames的列表。
lapply(list(mtcars1, mtcars2, ...), myfunct)不工作吗? -
我试过了,但可能我的语法有误。举一个简单的例子,假设我的函数只想将 CYL 列从因子值转换为数字。我该怎么做?我花了一段时间努力解决这个问题,但我无法让它发挥作用,所以我认为还有其他方法或者我的方法有误?
-
请参阅working with lists of data.frames 上的以下帖子。 gregor 的回答有很多关于如何使用这些对象的好技巧。将 data.frames 放入列表的其他一些帖子方法。