在 R 中读取多个文件后,如何使用循环函数重命名多个文件的名称?
How to use loop function to rename multiple files' name after read them in R?
我在“rawdata”文件夹下有多个文件,读取它们并将它们分配为单独的数据集后,我也想将它们从“数据集 1 a.csv”重命名为“数据集 1”。
我写了实现第一个目标的代码,使用第一个循环将所有文件读取为一个列表,然后使用第二个循环取消设置列表:ldf。但是我不知道应该在哪里添加代码让 R 一次更改所有文件的名称?我尝试在不同的地方添加str_replace_all (names(ldf)," ", "-"),但都返回了错误的输出,也无法解决去掉".csv"的问题。非常感谢~~
这是我的代码:
datanames<-list.files(here("rawdata"))
ldf<-list()
for (i in (datanames)){
ldf[[i]]<-import(here("rawdata",i))
for (j in names(ldf)){
assign(j,ldf[[j]], .GlobalEnv)
}
}
我不确定您要替换的名称的格式,但如果是 blank-number-blank-letter.csv,请使用 gsub 删除。然后您似乎想要将索引添加到名称中,因此将 paste0 与索引 i.
我不确定你将如何导入,但可以使用 read.csv
Assign 将分配名称。
lapply(1:length(list.files()), function(i) assign(paste0(gsub(" [0-9] [a-z].csv", "", list.files()[i]),i), read.csv(list.files()[i])))
我在“rawdata”文件夹下有多个文件,读取它们并将它们分配为单独的数据集后,我也想将它们从“数据集 1 a.csv”重命名为“数据集 1”。
我写了实现第一个目标的代码,使用第一个循环将所有文件读取为一个列表,然后使用第二个循环取消设置列表:ldf。但是我不知道应该在哪里添加代码让 R 一次更改所有文件的名称?我尝试在不同的地方添加str_replace_all (names(ldf)," ", "-"),但都返回了错误的输出,也无法解决去掉".csv"的问题。非常感谢~~
这是我的代码:
datanames<-list.files(here("rawdata"))
ldf<-list()
for (i in (datanames)){
ldf[[i]]<-import(here("rawdata",i))
for (j in names(ldf)){
assign(j,ldf[[j]], .GlobalEnv)
}
}
我不确定您要替换的名称的格式,但如果是 blank-number-blank-letter.csv,请使用 gsub 删除。然后您似乎想要将索引添加到名称中,因此将 paste0 与索引 i.
我不确定你将如何导入,但可以使用 read.csv
Assign 将分配名称。
lapply(1:length(list.files()), function(i) assign(paste0(gsub(" [0-9] [a-z].csv", "", list.files()[i]),i), read.csv(list.files()[i])))