2014-07-21 4 views
2

Shiny에서 HTML을 사용하여 별도의 줄을 인쇄하는 다양한 방법을 읽었지만 만족스럽지 않았습니다. 내 목표는 다양한 독립 변수를 저장하고 사용자가 SAS에서 사용할 수있는 SQL 문으로 코드를 제공하는 것입니다.Shiny의 텍스트 인쇄

binbreaks <- c(17,41,65,89,113) 
x_var <- "IAG01" 

for (i in 1:length(binbreaks)) { 
if (i==1) { 
    cat(paste("select ",x_var, ", case", "\nwhen ", x_var," <= ", binbreaks[1], "then 1")) 
} 
if (i>1 & i<=(length(binbreaks)-1)) { 
    cat(paste("\nwhen ",binbreaks[i-1], " < ", x_var, " <= ", binbreaks[i], "then ", i)) 
} 
if (i==length(binbreaks)) { 
    cat(paste("\nelse ", i)) 
    cat(paste("\nend as ", x_var, "_bin")) 
} 

내 반짝 응용 프로그램의 결과 텍스트가 있어야한다 :

select IAG01 , case 
when IAG01 <= 17 then 1 
when 17 < IAG01 <= 41 then 2 
when 41 < IAG01 <= 65 then 3 
when 65 < IAG01 <= 89 then 4 
else 5 
end as IAG01 _bin 

server.R 나는 결국 내 반짝 응용 프로그램에서 인쇄보고 싶습니다 텍스트 아래의 코드를 실행의 결과입니다 :

shinyServer(function(input, output) { 
    output$SQL_pp <- renderPrint({ 
    binbreaks<-seq(min(input_data_NA[[input$x_var]]),max(input_data_NA[[input$x_var]]),length.out=input$bins) 
    cat(
     for (i in 1:length(binbreaks)) { 
     if (i==1) { 
      cat(paste("select ",input$x_var, ", case", "\nwhen ", input$x_var," <= ", binbreaks[1], "then 1")) 
     } 
     if (i>1 & i<=(length(binbreaks)-1)) { 
      cat(paste("\nwhen ",binbreaks[i-1], " < ", input$x_var, " <= ", binbreaks[i], "then ", i)) 
     } 
     if (i==length(binbreaks)) { 
      cat(paste("\nelse ", i)) 
      cat(paste("\nend as ", input$x_var, "_bin")) 
     } 
     } 
    ) 
    }) 

ui.R :

shinyUI(fluidPage(
    navbarPage("EDA Tool", 
    tabPanel("SQL code", textOutput("SQL_pp")) 
) 
) 

위의 출력과 같이 인쇄하고 싶습니다. 대신, 내 출력은 모두 혼란스러워 보입니다. 그것은 여전히 ​​실행됩니다하지만 난 그게 흉보고 싶습니다 (즉,이 좋아하지 :

select IAG01 , case when IAG01 <= 17 then 1 when 17 < IAG01 <= 41 then 2 when 41 < IAG01 <= 65 then 3 when 65 < IAG01 <= 89 then 4 else 5 end as IAG01 _bin 

답변

2

HTML은 기본적으로 줄 바꿈을 무시, 당신은 줄 바꿈 및 간격을 유지하기 위해 pre 요소를 사용할 수있는이 교체 :

textOutput("SQL_pp") 
합니다. 이와

:

내가 원하는 정확히 무엇을 정말 감사 미래에, 나는 "용기"와 같은 옵션에 대해 알고 싶어하며, 나는 일에 대해 어떻게 갈 것인지
textOutput("SQL_pp", container = pre) 
+0

.! 그? 예를 들어, container = pre는 textOutput 문서를 검색 할 때 아무 데나 나열되지 않았습니다. – user3780173