Windows 7에서 RStudio를 실행 중입니다. 57 개의 새로운 R 스크립트를 생성하는 마스터 스크립트를 작성했습니다. 각 스크립트에는 두 개의 매개 변수를 기반으로 함수를 실행하는 명령이 있습니다.system() 명령을 사용하여 여러 개의 R 스크립트 실행
vector1 <- c(1:19)
vector2 <- c(1:3)
첫째, 마스터 스크립트를 사용하여 두-루프 내 작업 디렉토리에있는 57 스크립트의 각을 생성하는 ('DEF'vector2에 대한 인덱스를 사용 vector1, 하나의 인덱스 'ABC'를 사용하여 하나) 다음 파일 이름 규칙을 따르는 파일 :
run_inference_<<vector1[abc]>>_<<vector2[def]>>.R
해당 부분이 성공적으로 실행됩니다. 57 개의 스크립트가 각각 올바른 명령으로 생성됩니다. 내 작업 디렉토리는 이제 파일 등 run_inference_1_1.R, run_inference_1_2.R를 포함
그때 동시에 내 마스터에서 모두 57 스크립트를 실행하고 싶은 마지막 것. 나는 for-loop 내부에서 다음을 시도했다.
system(paste0("Rscript run_inference_",abc, "_", def, ".R"),wait = F)
이것은 작동하지 않는다. 그러나 생성 된 57 개의 스크립트 중 하나를 열고 실행하면 해당 스크립트에서 원하는 결과를 얻습니다. 이것은 문제가 제가 작성한 system() 명령 안에 있음을 말해줍니다.
각 57 개의 스크립트는 계산이 많이 필요하지 않으며 (지금), 지금하고 싶은 테스트는 내 PC에서 2 분이 걸릴 것입니다. system() 명령을 편집하여 57 개의 스크립트를 모두 동시에 실행할 수 있습니까?
'sapply 생성하고 57 스크립트를 실행하면 여부에'아니오 코멘트 (paste0 ("RSCRIPT의 run_inference _", ABC, "_", 고화질, ".R"), 시스템 = F를 기다릴 것은) 좋은입니다 귀하의 문제에 대한 아이디어 또는 아닙니다. – Vlo
나는 이것을 할 수있는 더 좋은 방법이 있다는 Vlo의 솔직한 우려를 되풀이합니다. 왜 필요한 입력을 필요로하고 원하는 57 개의 다른 입력으로 그 기능을 실행하는 것과 같은 것을하는 대신 스크립트를 작성하고 싶습니까? – Dason
필자는 매우 집중적 인 작업을 처리 할 수있는 잘 준비된 PC를 보유하고 있으며, 병렬 컴퓨팅에 익숙한 동료들은 사용 가능한 것을 고려해이 작업을 수행 할 수 있어야한다고 말했습니다. 우리는 보게 될 것이다! – tfmunkey