Language(R, Python, SQL)/R
[R] Progress Bar 로 반복문 진척률 및 완료시간 구현
dtstory
2023. 3. 8. 20:00
R에서 반복문을 이용해서, 작업 수행을 할 때, 아래와 같이 print(i) 를 이용해서, 현재 진척률을 보고는 할 것이다.
이 방법으로 하게 되었을 땐, 몇번 째 i 가 수행되고 있는지는 확인할 수 있지만, 몇% 정도 진척이 되었는지, 작업 수행시간이 몇 시간이 남았는지 확인하는 것은 불가능하다.( 대충 감으로, 어느정도 됐겠거니.. 라고 생각할 수 있을 뿐이다. )
for(i in 1:10000) {
print(i)
}
아래의 이미지 처럼, 현재 진행률(Progress) 과 예상 완료시간(Estimated Completion time) 을 확인하고 싶지 않은가?
그렇다면, progress 라는 라이브러리를 이용해서, 반복문이 돌아갈 때, 진척률과 완료시간을 표현할 수 있다.
1. 라이브러리 로드
library(progress)
2. pb_func 사용자 정의 함수 선언
pb_func = function(total) {
tmp_pb <- progress_bar$new(
format = " Progress: [:bar] :percent, Estimated completion time: :eta",
total = total,
clear = FALSE,
width= 80
)
return(tmp_pb)
}
3. 반복 횟수 설정 (임의로, 100000 로 지정)
niter = 100000
pb = pb_func(niter)
4. 반복문에 적용
for(i in 1:niter) {
pb$tick()
}
성공!
728x90