2014-11-14 4 views
1

source() 명령을 사용하여 일부 R 스크립트를 실행 한 다음 콘솔을 플러시합니다. 콘솔에서 볼 수있는 유일한 것은 스크립트의 진행률 보고서가있는 텍스트입니다. 진행률 표시 줄이 표시된 후에 나머지 코드는 모두 숨겨집니다. 아래에 나와있는 cat() 기능을 사용하여 텍스트를 수동으로 추가하여 진행 보고서를 콘솔에 인쇄하고 있습니다.R : R 콘솔 (R studio 및 R.app)의 센터 출력 텍스트

cat("\014") 
cat(" =====================================\n") 
cat(" ========== PROGRESS REPORT ==========\n") 
cat(" =====================================\n") 
cat("\n") 

# progress bar implementation 

궁금 해서요 무엇 : 콘솔의 창 크기 크기를 조정할 때 동적으로 조정되도록 콘솔의 중앙에 자동으로 텍스트를 중심으로하는 방법이 있나요? R Studio와 Windows 및 Mac OS X의 baseR에서 모두 작동하는 방법을 찾고 있습니다.

답변

2

다음과 같은 방법을 시도해 볼 수 있습니다. 이 값은 정확히 중앙에 올 수도 있고 그렇지 않을 수도 있습니다. 이는 현재 콘솔 너비에 따라 다릅니다 (홀수가 p의 계산에서 발생하면 마루됩니다).

centerText <- function() { 
    width <- getOption("width") 
    out <- "=======================================\n" 
    mid <- "=========== PROGRESS REPORT ===========\n" 
    ws <- rep(" ", floor((width - nchar(out))/2)) 
    cat(ws, out, ws, mid, ws, out, sep = "") 
} 

centerText() 

RStudio에서 작동하지만 정상적인 R 콘솔에서 작동하는지 잘 모르겠습니다. 약간의 조정이 필요할 수도 있습니다.

+1

멋진 작품! 고맙습니다! – kurdtc

+0

걱정하지 않아도 좋았습니다. –