크로스 테이블 출력 (우연 테이블)을 생성 중입니다. 내 요구 사항은 행 및 열 합계와 함께 열 비율을 갖는 것입니다. 나는이 패키지를 찾았습니다 "sjPlot" 이것은 색상 기능과 함께 매우 좋은 출력을 제공하며 제 요구 사항을 충족 시켰습니다. Shiny에서 출력물을 생성하기 위해이 패키지를 사용했습니다. 그러나 놀랍게도 출력은 뷰어 창에서만 생성되고 앱에서는 생성되지 않습니다. 아래는 내 코드의 작은 부분입니다.크로스 탭 출력이 Shiny 응용 프로그램이 아닌 뷰어 창에만 표시됩니다.
library("shiny")
library("sjPlot")
ui <- shinyUI(fluidPage(
tabPanel("First Page"),
mainPanel(tabsetPanel(id='mytabs',
tabPanel("Table",tags$b(tags$br("Table Summary")),tags$br(),dataTableOutput("crosstab2"))
)
)
))
server <- shinyServer(function(input, output,session){
updateTabsetPanel(session = session
,inputId = 'myTabs')
output$crosstab2 <- renderDataTable({
with(mtcars,sjt.xtab(mpg, cyl,
var.labels = c("mpg","cyl"),
show.col.prc = T,
show.summary = F,
show.na = F,
wrap.labels = 50,
tdcol.col = "#f90477",
emph.total = T,
emph.color = "#3aaee0",
#use.viewer = T ##when this is false it generates a html output. Can we capture the html output and display in Shiny?
CSS = list(css.table = "border: 1px solid;",
css.tdata = "border: 1px solid;")))
})
print("created crosstab1")
})
shinyApp(ui = ui, server = server)
이렇게하면 뷰어 창에 필요한 출력이 생성됩니다. 이 출력을 앱에 표시하려면 어떻게해야합니까? 실제 프로그램에서 변수가 동적으로 선택되고 테이블 출력이 그에 따라 변경되는 것처럼이 출력을 이미지로 저장할 수 없습니다.
내가'sjPlot' 패키지를 사용한 적이 없으므로 사용하지 않은 인수에 대한 오류를 어떻게 처리 할 것인가? –
@ Pork, 위의 코드를 r studio에서 실행했지만 오류가 발생하지 않았습니다. 출력은 뷰어 창에서 생성되고 반짝이는 응용 프로그램에서는 생성되지 않습니다 – user1412