我正在尝试从文件夹导入多个SAS数据文件,然后将它们作为具有相同原始SAS数据集名称的R数据帧保存回文件夹。一切正常,除了我无法弄清楚如何用原始文件名保存文件(即,我无法弄清楚>中的x保存(xxx,文件= ...)。
我尝试过的代码如下:
path <- "path to folder with sas files"
list.files(pattern=".sas7bdat$")
list.filenames<-list.files(pattern=".sas7bdat$")
for (i in 1:length(list.filenames)){
assign(list.filenames[i], read_sas(list.filenames[i]))
filename <- paste(list.filenames[i])
save(list.filenames[i],file = paste0(path, paste(list.filenames[i], "Rdat", sep = ".")))
}
不起作用......
for (i in 1:length(list.filenames)){
assign(list.filenames[i], read_sas(list.filenames[i]))
filename <- paste(list.filenames[i])
save(list.filenames[[i]],file = paste0(path, paste(list.filenames[i], "Rdat", sep = ".")))
}
不起作用
for (i in 1:length(list.filenames)){
assign(list.filenames[i], read_sas(list.filenames[i]))
filename <- paste(list.filenames[i])
save(filename,file = paste0(path, paste(list.filenames[i], "Rdat", sep = ".")))
}
有关如何使用list.filenames [i]中的原始名称保存文件的任何帮助?
答案 0 :(得分:0)
使用&#34;列表&#34; save
的论点。像
path <- "path to folder with sas files"
list.filenames <- list.files(path, pattern="\\.sas7bdat$")
for (i in list.filenames) {
datName <- tools::file_path_sans_ext(i)
assign(datName, read_sas(i))
save(list=datName, file = paste0(path, paste(datName, "Rdat", sep = ".")))
}
会奏效。此外,我想你希望pattern=".sas7bdat$"
为pattern="\\.sas7bdat$
,因为&#34;。&#34;是正则表达式中的通配符。