循环用于转换文件

时间:2017-11-14 20:33:28

标签: r loops

我有很多文件要使用R从sas7bdat转换为Rds,我使用以下代码:

name <- read_sas("C:/Users/Desktop/Files/name.sas7bdat")
saveRDS(name, file = "C:/Users/Desktop/RDSfiles/name.Rds")

但是有太多文件我想使用循环来优化处理,任何想法?

非常感谢!!

1 个答案:

答案 0 :(得分:3)

这是我将使用的简单循环:

path_sas7bdat <- "C:/Users/Desktop/Files/"
path_RDS <- "C:/Users/Desktop/RDSfiles/"

files <- list.files(path_sas7bdat, pattern = "sas7bdat")

for(i in files) {
    saveRDS(read_sas(paste0(path_sas7bdat, i)),
            paste0(path_RDS, gsub("sas7bdat", "RDS", i)))
}

PS:检查saveRDS选项collapse = FALSE的速度。