2013-08-29 53 views
0

我正在使用一個叫做COLONY的程序,它來自於一些遺傳分析。殖民地有一個R包(rcolony)。R編程,讀入並運行多個文件

我需要做的是將文本文件從目錄(「C:/ GenSoftware/Colony/datFiles」)移動到另一個目錄(「C:/ GenSoftware/Colony /」)中,將其重命名爲「Colony2.dat」運行殖民地,然後完成時重複原始目錄中的所有文件的過程。

這是我們迄今爲止能夠想出的。問題在於它似乎試圖同時運行每個文本文件,而不是循環瀏覽它們。

任何幫助將不勝感激。提前致謝。

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) 
} 
+0

你所寫的內容看起來不錯。它絕對不是試圖在同一時間運行它們。你可以發佈一些關於運行時發生的事情的更多信息嗎? – nograpes

+0

是的,你看起來是正確的。它正在運行三個殖民地實例。我不確定這些實例是否分析了三次相同的文件,或者是以何種方式解析它。我只是購買了幾臺計算機來運行,可能會發生某些版本不兼容問題,因爲它現在似乎只運行一個實例。 下面是昨天晚上運行兩個實例時發生的事情的截圖:http://i.imgur.com/u3BnMQ7.png感謝您花時間幫助我。 –

+0

這是目前的狀態http://i.imgur.com/GT3OPhU.png –

回答

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

請讓我知道如果這個工作,如果沒有生病測試明天 – user2600629

+0

是否可以使用相同的代碼來讀取文件相同名稱但分配在目錄中的不同文件夾中?我不知道如何在R中創建它,因爲在其他軟件中,速度會變慢! – Duck

+0

你的意思是搜索不同目錄中的文件名? – user2600629