如何在R中更改文件名?

时间:2015-06-17 09:31:21

标签: r

我正在进行一些计算,并希望将结果文件命名为原始文件的相同名称,但文件中添加了res

dir1<- list.files("/data/mydat", "*.img", full.names = TRUE)
dir1
# [1] /data/mydat/1258_file.img
outputDir  <- "/data/myresluts"
outputFile <- file.path(outputDir, basename(dir1[1]))
outputFile
# [1] "/data/myresluts/1258_file.img"

我需要的是将_res添加到outputFile名称,如下所示:

1258_file_res.img

这是否可以在R?

2 个答案:

答案 0 :(得分:3)

  • 使用strsplit将文件名与其扩展名分开

    a<-strsplit(basename(dir1[1]), '[.]')[[1]]
    
  • 将基本文件名与您想要的字符串连接起来(&#39; _res&#39;)

    a[1]<- paste(a[1],'res',sep='_')
    
  • 再次将结果字符串与原始文件扩展名

    连接起来
    paste(a[1],a[2],sep='.')
    

答案 1 :(得分:1)

根据其他文件的命名方式,您可以使用示例替换。假设你有一个文件名,

fname = "/data/myresluts/1258_file.img"

我们只需要将.img替换为_res.img,即

R>  gsub(".img", "_res.img", fname) 
[1] "/data/myresluts/1258_file_res.img"