0

我正在使用来自一些基因分析的名为COLONY的程序。Colony 有一个 R 包 ( rcolony )。

我需要做的是将文本文件从目录(“C:/GenSoftware/Colony/datFiles”)移动到另一个目录(“C:/GenSoftware/Colony/”)重命名为“Colony2.dat”,运行colony,然后完成后对原始目录中的所有文件重复该过程。

这是我们迄今为止所能想到的。问题是它似乎试图同时运行每个文本文件,而不是循环浏览它们。

任何帮助将非常感激。提前致谢。

setwd("C:/GenSoftware/Colony/")
getwd()
datFiles <- list.files("datFiles")
library(rcolony)

for (dat in datFiles)
{
  setwd("C:/GenSoftware/Colony/datFiles")
  file.rename(dat,"Colony2.DAT")
  file.copy(from = "C:/GenSoftware/Colony/datFiles/Colony2.DAT",to = "C:/GenSoftware/Colony/")
  datPath <- "C:/GenSoftware/Colony/Colony2.DAT"
  setwd("C:/GenSoftware/Colony/")
  run.colony(colonyexecpath = "Colony2.exe", datPath, wait = FALSE, monitor = TRUE)
  setwd("C:/GenSoftware/Colony/datFiles/")
  file.rename("Colony2.DAT",dat)
}
4

1 回答 1

1
setwd("C:/GenSoftware/Colony/datFiles")
listofFile = list.files()
Records <- as.data.frame(listofFile)
count <- nrow(Records)
x = 1:count

for(i in seq(along=x))
{
  file.rename(listofFile[i],"Colony2.DAT")
  file.copy(from = "C:/GenSoftware/Colony/datFiles/Colony2.DAT",to = "C:/GenSoftware/Colony/")
  datPath <- "C:/GenSoftware/Colony/Colony2.DAT"
  setwd("C:/GenSoftware/Colony/")
  run.colony(colonyexecpath = "Colony2.exe", datPath, wait = FALSE, monitor = TRUE)
  setwd("C:/GenSoftware/Colony/datFiles/")
  file.rename("Colony2.DAT",dat)
}

抱歉没有时间测试,因为我正在我的机器上运行一些密集的东西。

这肯定会向您展示遍历文件目录的过程

setwd("C:/GenSoftware/Colony/datFiles")
listofFile = list.files()
Records <- as.data.frame(listofFile)
count <- nrow(Records)
x = 1:count

for(i in seq(along=x))
{
  print(listofFile[i])
}
于 2013-08-30T04:45:31.700 回答