我用以下说明创建了一个excel文件列表:
setwd(folder1/folder2)
bases <- list.files(pattern = "*.xlsx")
bases.list <- lapply(bases, read_excel)
数据帧的名称如下:jan20student.xlsx、feb20student.xlsx、……、jan21student.xlxx。数字表示2020年或2021年。所有数据帧都具有相同的变量。我想保留特定的变量,并在每个数据帧中创建一个年龄的分类变量([10,20(=年轻,[20,40(=成年人(。我还想用jan20names.xlsx等名称保存每个数据帧。你能给我一些编码说明的建议吗?
我尝试使用以下代码:
result.list <- map_dfr(bases.list, select(id, exp, name, age))
但它不起作用
提前谢谢。
你可以试试这个代码-
library(dplyr)
bases <- list.files(pattern = "*.xlsx")
purrr::map(bases, ~.x %>%
read_excel %>%
select(id, exp, name, age) %>%
mutate(age_cat = case_when(between(age, 10, 20) ~ 'young',
between(age, 20, 40) ~ 'adult')) %>%
writexl::write_xlsx(sub('student', 'names', .x)))