2012-12-21 1 views
-2

내 R 프로그램에는 완료하는 데 상당한 시간이 걸릴 수있는 메인 루프가 있습니다. 이 때문에 지금보다 더 정확한 추정을 제공하는 경고 대화 상자를 만들고 싶습니다. 현재 루프에 있음보다 정확한 런타임 예측을 만드는 방법

if (loopIteration == 1) { 
    sampleTime1 <- sys.time(); 
} 

if (loopIteration == 2) { 
    sampleTime2 <- sys.time(); 
    timeEstimate <- loopLength*difftime(sampleTime2, sampleTime1); 
    print(timeEstimate); 
} 

불행히도이 추정치는 약 75 % 정확하지 않습니다. 어떻게하면 더 정확하게 만들 수 있습니까?

+0

'SampleTime2' 무엇인가? – mnel

+0

아마 두 조건이'loopIteration == 1'이 오타입니까? – joran

답변

1

다른 이름이없는 패키지의 기능을 사용하고있는 것 같습니다. 기저 함수의 함수 이름 system.time이며 보고서 세 번째 요소는 실행하기 식에 대한 경과 시간이다

> system.time({for(i in 1:1000000) {NULL} })[3] 
elapsed 
    0.2 
+0

R베이스 패키지에서 제공 http://rss.acs.unt.edu/Rdoc/library/base/html/difftime.html – user1876508

+0

DWin이 사용중인 sys.time 함수에 대해 이야기하고 있다고 생각합니다. difftime 함수가 아닙니다. Sys.time 함수가 있습니다. 내 생각 엔 코드는 실행되지 않지만 Sys.time의 첫 번째 문자는 대문자로 표기하지 않아도됩니다. –

+2

기본 함수에 대해 말하면'base :: Sys.time'의 "S"는 반드시 대문자로 써야합니다. 어쨌든 우리가 무슨 말을하는거야? 실행되는 실제 코드와 혐의가되고있는 것을 보여주는 몇 가지 결과를 가질 수 있습니까? –

관련 문제