2014-02-17 4 views
0

큰 데이터 세트에 mapply (함수, args)를 사용하고 있습니다. 100 회 반복 한 후 1 초 동안 지연을 설정해야합니다. 문제는 mapply (함수, args) 내에서 반복 횟수 또는 진행률 막대를 표시 할 수 있는지 여부 감사합니다.mapply에서 반복 횟수 표시

답변

1

아니요. plyr에서 해당 기능을 사용하도록 전환하면 함수 호출에 진행률 막대를 추가 할 수 있습니다. .

당신은 우리에게 내가 정확한 plyr 상당을 찾는 노력을하지 않을거야 최소한의 재현 예를 제공하지만 m*ply 기능 중 하나가 될 것없이 : 당신이 총을 알고 있다면

> ls(pos=2,pattern="m.*ply") 
[1] "maply" "mdply" "mlply" "m_ply" 
0

을 반복 횟수는 일 수 있으며,은 반복 카운터로 mapply에 다른 인수를 추가하기 만하면됩니다. 이 예에서는 z을 추가했습니다. 당신이 더 설득력 랩을 system.time()의 문을해야하는 경우이 예는

mapply(function(x,y,z) { if(z%%3==0){Sys.sleep(1); 
    cat(paste0("Interation " , z , " ...sleeping\n")) } 
    x*y } ,x=1:10,y=1:10,z=1:10) 
#Interation 3 ...sleeping 
#Interation 6 ...sleeping 
#Interation 9 ...sleeping 
# [1] 1 4 9 16 25 36 49 64 81 100 

.... 일초마다 3 반복을 위해 명령 줄 잠을 수 있습니다. 나는 3.002 초의 런타임을 얻는다.