如何编辑 list.file 中的数据框

How do I edit data frames in a list.file

我按照以下说明创建了一个包含 excel 个文件的列表:

setwd(folder1/folder2)

bases <- list.files(pattern = "*.xlsx")

bases.list <- lapply(bases, read_excel)

数据框的名称是这样的:jan20student.xlsx、feb20student.xlsx、......、jan21student.xlsx。数字表示 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)))