2013-04-06 4 views
2

함수 DevCstat()를 만들었습니다.mclapply 추가 인수

인수에는 indat, mod, Covar, txtMat, PatCovar가 사용됩니다.

indat가 목록이므로 목록의 각 요소에 함수를 적용하고 싶습니다.

mod, Covar, txtMat, PatCovar는 함수를 호출 할 때마다 사용하려는 객체입니다. 목록 요소를 변경하지 않습니다.

lapply(test, DevCstat, mod='A', Covar=Covar,txtMat=txtMat, PatCovar=PatCovar) 

그러나, 병렬 버전은 작동하지 않습니다 :

mclapply(test,DevCstat,mod = 'A', Covar=Covar, txtMat=txtMat, PatCovar=PatCovar, SIMPLIFY = F, mc.cores = getOption("mc.cores", numcore)) 

을 내가

all scheduled cores encountered errors in the user code 

내가 생각하는 오류 문제가 mclapply입니다

가 작동하는 것 같다 추가 인수를 전달하지 않습니다.

누구나 정확하게 이것을 수행하는 방법을 알고 있습니까?

감사

답변

5
당신은 mclapply이 방법으로 여분의 인수를 허용 않는 다음의 예에서 볼 수

:

mclapply(2:4, function(i,j,k) c(i,j,k), i=1, k=5) 

내가 문제가 그렇게 mclapply이하는 SIMPLIFY 인수를하지 않는다는 것입니다 생각 오류를 일으키는 기능으로 전달합니다. mcmapply과 혼동을 일으킬 수 있는데, 이는 SIMPLIFY 인수를 취합니다.