0

我正在处理一些文件,并想写出结果并给它们与操作前相同的名称。

这是代码:

阅读文件:

  dir2 <- list.files("/data/reprojected", "*.img", full.names = TRUE) 
   results<- list()

计算:

 for (.files in seq_along(dir2)){
     file1 <- readBin(dir2[.files], numeric(), size = 4, n = 1440*720, signed = TRUE)
      results[[length(results) + 1L]]<- 500*file1
    for (i in seq_along(results)){
   fileName <- strsplit(dir2[i],split='\\.')[[1]][1]
   outputFile <- paste(fileName,'_rescaled','.img',sep='')
   writeBin(as.double(results[[i]]), outputFile, size = 4)}}

正如您在编写文件的这一部分中所看到的:

    for (i in seq_along(results)){
    fileName <- strsplit(dir2[i],split='\\.')[[1]][1]
    outputFile <- paste(fileName,'','.img',sep='')
   writeBin(as.double(results[[i]]), outputFile, size = 4)}

这些文件将被写入并采用与以前相同的名称,这没有问题。但是它们将被写入与以前相同的目录中,并且以前的文件将被删除。我的问题是我们如何在我的鳕鱼中指定新目录的路径(保持与以前相同的名称)?

4

1 回答 1

3

dirname并将basename路径名分别拆分为目录和文件组件。您可以使用它来替换您自己的目录。

fileName <- strsplit(basename(dir2[i]), "\\.")[[1]][1]
fileName <- file.path(<new_directory>, fileName)
...
于 2013-07-10T13:23:55.627 回答