2013-08-29 2 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