我正在创建我的第一个Shiny应用程序,但无法找到如何显示使用htmlTable包创建的表格的任何示例。我基本上想要在按下按钮时创建一个表并显示它。
Shiny显示html代码而不是表格。我不知道要替换什么" renderTable"在ui-part中的server-part和tableOutput中。
我还没有使用普通表,因为我需要htmlTable包中提供的列跨越功能。
library(shiny)
library(htmlTable)
#################### ui part ##############################################
ui <- pageWithSidebar(
headerPanel("Tables"),
sidebarPanel(
actionButton("goButton", "Run Table")
),
mainPanel(
tableOutput("filetable")
)
)
#################### server part #######################################
server <- function(input,output)
{
selectedData <- eventReactive(input$goButton, {
# Create the table (using table from htmlTables doc as example)
htmlTable(matrix(paste("Content", LETTERS[1:16]),
ncol=4, byrow = TRUE),
header = paste(c("1st", "2nd",
"3rd", "4th"), "header"),
rnames = paste(c("1st", "2nd",
"3rd", "4th"), "row"),
rgroup = c("Group A",
"Group B"),
n.rgroup = c(2,2),
cgroup = c("Cgroup 1", "Cgroup 2†"),
n.cgroup = c(2,2),
caption="Basic table with both column spanners (groups) and row
groups",
tfoot="† A table footer commment")
})
output$filetable <- renderTable({selectedData()})
}
shinyApp(ui,server)
答案 0 :(得分:0)
我改变了两件事:
renderUI
和htmlOutput
对。 htmlTable
打包到来自HTML
的{{1}} - 函数中,告诉shiny
shiny
括号内的所有内容都是html。< / LI>
醇>
对于未来的()
- 应用,我建议使用RStudio的备忘单:https://shiny.rstudio.com/images/shiny-cheatsheet.pdf
shiny