2015-02-27 3 views
5

Я пытаюсь сделать разрывы строк при печати.печать прерываний печати с использованием sprintf - с блестящими

вот мой код:

temp <- LETTERS[1:11] 

print(sprintf("Rank %s = %s \n", 1:11, temp)) 

выход:

[1] "Rank 1 = A \n" "Rank 2 = B \n" "Rank 3 = C \n" "Rank 4 = D \n" "Rank 5 = E \n" "Rank 6 = F \n" "Rank 7 = G \n" "Rank 8 = H \n" "Rank 9 = I \n" 
[10] "Rank 10 = J \n" "Rank 11 = K \n" 

я наивно думал, что \n сделал разрыв строки. Мой желаемый результат будет:

"Rank 1 = A" 
"Rank 2 = B" 
"Rank 3 = C" 
"Rank 4 = D" 
... etc. 

EDIT:

комментарий Паскаля говорит мне, что он работает с cat

cat(sprintf("Rank %s = %s \n", 1:11, temp)) 

Я использую этот код внутри renderText внутри блестит. print вернет текст, но я не могу получить cat, чтобы вернуть текст.

В этом случае существует ли где-либо возможность генерировать требуемые разрывы строк, не используя cat?

+2

Он работает с 'cat' вместо' print'. –

+0

ой, правильно ... это фактически приводит к отдельному вопросу ... я отредактирую. – jalapic

+0

@akrun renderPrint вернет текст при использовании 'cat' - но, к сожалению, текст возвращается, как если бы он был вектором, т. Е. Разрывы строк не отображаются на блестящем выходе. – jalapic

ответ

-1

Вы можете изменить renderText на renderUI и с htmlOutput, как описано here. Сценарий может быть что-то вроде

library(shiny) 

runApp(
    list(
    ui = fluidPage(
     htmlOutput("text1") 
    ), 
    server = function(input, output){ 
     output$text1 <- renderUI({ 

     temp <- LETTERS[1:11] 
     HTML(
      paste0(sprintf("Rank %s = %s", 1:11, temp), collapse = "<br>") 
     ) 
     }) 
    })) 

В результате

enter image description here

Смежные вопросы