クロステーブル出力(不測事態テーブル)を生成しています。私の要件は、行と列の合計と共に列のパーセンテージを持つことです。私はこのパッケージを見つけました"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'パッケージを使ったことがないので、単純にベースRにプロットすると、未使用の引数についてのエラーをどう扱っていますか? –
@ Pork、上記のコードをr studioで実行しましたが、何のエラーもありません。出力はビューアーペインで生成され、Shinyアプリケーションでは生成されません – user1412