我有一些代码从目录中读取所有xlsx,将其作为列表导入RStudio,并使用文件名命名列表的每个元素。每个元素都存储为数据帧。
我是R的新手,但是对列表的每个元素应用一组函数最明智的方法是什么?每个数据帧的布局都相同。
我想过滤到特定区域,按年龄分组,然后将此信息作为新数据帧提取(绑定行)。
..$ Persons :'data.frame': 1932 obs. of 36 variables:
.. ..$ gss_code_borough: chr [1:1932] ...
.. ..$ gss_code_ward : chr [1:1932] ...
.. ..$ district : chr [1:1932] ...
.. ..$ ward_name : chr [1:1932] ...
.. ..$ age : chr [1:1932] "total" "0" "1" "2" ...
.. ..$ 2011 : num [1:1932] 261590 4779 4480 4320 4197 ...
.. ..$ 2012 : num [1:1932] 263856 4723 4571 4390 4082 ...
上面显示了列表的第一个元素的布局。我想按特定区域过滤所有表格,细分到特定年龄范围和总和。我可以编写代码6次,每次更改列表元素,但必须有更快的方法吗?
让我们假设你有一个名为dta
的列表,其中有许多data.frame
,它们具有你给出的结构。你可能需要purrr
包来帮助这个。
library(purrr)
map_df(dta, ~.x %>% filter(district == "a1", age == "2"), .id = "dataset")