중첩 - 새 줄을 만들지 않고 R 콘솔에서 텍스트를 출력하는 방법?



r 그래프 글씨 크기 (3)

장기간 실행되는 알고리즘 중에 진행률 표시기를 출력하고 싶습니다. 내 알고리즘 내에서 진도 값을 쉽게 "버블 업 (bubble up)"할 수 있지만 (예 :이 목적을 위해 제공된 함수 콜백을 통해), 실제 텍스트 출력 프로세스에는 어려움이 있습니다. print 를 호출 할 때마다 새로운 행이 만들어지며 각각 앞에 [1] 붙습니다.

줄 바꿈없이 다른 순간에 인쇄하는 방법이 있습니까?

구체적으로 말하자면, 나는 두 개의 서로 다른 시간에 관찰된다면 다음과 같이 보이는 "애니메이션"을 얻고 싶습니다.

0%...

...

0%...2%...4%...

https://src-bin.com


Answer #1

Bah, Andrie가 28 초 만에 나를 때렸다.

> for (i in 1:10) {
+ cat(paste("..", i, ".."))
+ }
.. 1 .... 2 .... 3 .... 4 .... 5 .... 6 .... 7 .... 8 .... 9 .... 10 ..

Answer #2

어쩌면 당신은 플라이를 할 수 있어요 plyr

  l_ply(1:4,function(x) x+1,.progress= progress_text(char = '+'),.print=TRUE)
  |                                 |   0%[1] 2
  |++++++                           |  25%[1] 3
  |+++++++++++++++                  |  50%[1] 4
  |++++++++++++++++++++++           |  75%[1] 5
  |++++++++++++++++++++++++++++++++ |  100%[1]

Answer #3

print() 대신 cat() 사용하십시오.

cat("0%")
cat("..10%")

출력 :

0%..10%




output-formatting