我正在进行一些计算,并希望将结果文件命名为原始文件的相同名称,但文件中添加了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?
答案 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"