如何编辑 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)))
我按照以下说明创建了一个包含 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)))