首页 > 解决方案 > 如何在 R 中调用多个对象(数据框),所以我只需运行一次函数?

问题描述

我的环境中有几个数据框,以SPECIALITY

环境

我希望能够在我的自定义函数(可能使用应用函数)中只调用一次数据帧,而不是像这样为每个数据帧运行一行代码:

多余的代码

我正在考虑将数据框组合成一个列表,但我不确定我将如何去做,或者这是否是最有效的方法。

标签: rlistfunctiondataframeapply

解决方案


将它们存储到列表中是一个好主意,您可以这样做:

new_list <- mget(ls(pattern="^SPECIALTY"))

然后将lapply其与您选择的功能一起使用。

如果要在将它们放入列表后清理工作区,请运行:

rm(list = ls(pattern="^SPECIALTY")))

为了更进一步,您可能想挑战为什么将它们放在分开的表格中,也许是因为您已经做了类似的事情:

SPECIALTY2014_Q1 <- read.csv("SPECIALTY2014_Q1.csv")
SPECIALTY2014_Q2 <- read.csv("SPECIALTY2014_Q2.csv")
...

在这种情况下,您可以执行以下操作从一开始就将所有内容存储在列表中:

lapply(paste0("SPECIALTY", c("2014_Q1", "2014_Q2"),".csv"), read.csv)

推荐阅读