我正在尝试改进我的代码,避免重复行来导入具有相同名称结构的多个csvs:
iOS_Weekly_Active_Users_20210301 <- read.csv("iOS_Weekly_Active_Users_20210301.csv", header = T)
iOS_Weekly_Active_Users_20210301$WeekDate <- "2021-03-01"
iOS_Weekly_Active_Users_20210308 <- read.csv("iOS_Weekly_Active_Users_20210308.csv", header = T)
iOS_Weekly_Active_Users_20210308$WeekDate <- "2021-03-08"
iOS_Weekly_Active_Users_20210315 <- read.csv("iOS_Weekly_Active_Users_20210315.csv", header = T)
iOS_Weekly_Active_Users_20210315$WeekDate <- "2021-03-15"
iOS_Weekly_Active_Users_20210322 <- read.csv("iOS_Weekly_Active_Users_20210322.csv", header = T)
iOS_Weekly_Active_Users_20210322$WeekDate <- "2021-03-22"我设法实现了它来读取csv,但我不知道如何在数据框中插入创建新列WeekDate和为其提供日期值的部分。
week_date_list <- c("20210301", "20210308", "20210315", "20210322" )
for(week_date in week_date_list){
assign(paste0("iOS_Weekly_Active_Users_", week_date), read.csv(paste0("iOS_Weekly_Active_Users_", week_date, ".csv"), header = T))
}发布于 2021-06-03 05:36:39
不建议在全局环境下创建多个对象。这可以通过存储在list (用于lambda (\(week_date))的R 4.1.0或使用function(week_date) )中轻松完成
lst1 <- lapply(week_date_list, \(week_date) {
tmp <- read.csv(paste0("iOS_Weekly_Active_Users_",
week_date, ".csv"), header = TRUE)
tmp$WeekDate <- as.Date(week_date, format = "%Y%m%d")
tmp
})在OP的for循环中
for(week_date in week_date_list){
tmp <- read.csv(paste0("iOS_Weekly_Active_Users_", week_date, ".csv"),
header = TRUE)
tmp$WeekDate <- as.Date(week_date, format = "%Y%m%d")
assign(paste0("iOS_Weekly_Active_Users_", week_date), tmp)
}https://stackoverflow.com/questions/67812740
复制相似问题