一次对全局环境中可用的所有数据集重复执行任务

时间:2019-09-26 16:21:44

标签: r

我的全球环境中加载了大约40个或更多数据集。每个数据集都有两列和5个观察值,它们看起来都一样。我想将第二个字段名称从Filter重命名为Pieces_Mailed,然后将现在的Pieces_Mailed字段中的第一个观测值替换为第五个观测值中的值,因为这在所有数据集中都是动态的。之后,我只想保留第一个观察值的两列(Institution和Pieces_Mailed)。

请使用下面的代码创建数据集。县只是我已加载的40多个数据集之一。这些数据集的所有内容几乎相同,除了第1列中的obs 1在初始数据中具有机构名称col 2,obs 5。

我宁愿使用Tidyverse方法。

County <- tibble(Institution = c("Zoe Financials","NA","Mailing Summary", "Total Households & Members", 37867),
                 Filter = c("None", "NA", "Mailing Summary", "Pieces Mailed", 59475))

County <- tibble(Institution = "Zoe Financials",
                 Filter = 59475)

1 个答案:

答案 0 :(得分:0)

一种选择是将数据集加载到list中,然后遍历{{1}中的list与{{1}中的lapply 1}}-tidyverse),base R感兴趣的列(在map中,如果需要,我们也可以重命名这些列),然后purrr在“ Pieces_Mailed”中的第一个值与第五个该列的值,并以select返回数据集。最好将数据集保留在select中,而不要在全局环境中分配或创建多个对象,因为1)会使环境混乱,2)进行其他任何修改/将文件另存为更容易replace,而不是分散在全局环境中的对象

list