如何解决用于统一不同的过程的循环在 R 中表现出色
我想用不同的 Excel 文件重复这个过程,我想为此做一个循环,但我不知道从哪里开始。
# Route in excel
path <- "mar_2016.xls"
# Unificate data for Sheet
data_mar16 = path %>%
excel_sheets() %>%
set_names() %>%
map_df(~ read_excel(path = path,sheet = .x),.id = "Sheet")
# Select columns
data_mar16 <- data_mar16%>% select("Sheet","F_H","PE_H","NO")
# Filter values of column Sheet
data_mar16 <- filter(data_mar16,Sheet %in% c("A","C","B" ))
# Save the data
write_xlsx(data_mar16,"mar16.xlsx")
有什么想法吗?
解决方法
因为没有测试数据,所以我把它写在一个文本文件中......所以可能有一个错字:
# Route to multiple excel files
paths <- c("mar_2016.xls","mar_2017.xls")
# run a loop for the length of your char vector with files
for (i in 1:length(paths)){
# select position from vector acording to loop index
file <- paths[i]
# Unificate data for Sheet
data <- excel_sheets(file) %>%
set_names() %>%
map_df(~ read_excel(path = file,sheet = .x),.id = "Sheet") %>%
select("Sheet","F_H","PE_H","NO") %>%
filter(Sheet %in% c("A","C","B" ))
# Save the data
write_xlsx(data,file)
}
另一种选择是将代码转换为函数,然后通过 map() 将其应用于向量(或在 map 调用中将其全部写入)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。