R编程,读入和运行多个文件

时间:2013-08-29 17:42:28

标签: r genetics

我正在使用一些名为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)
}

1 个答案:

答案 0 :(得分:0)

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])
}