gvisTables 未在 Shiny 应用程序中呈现
Posted
技术标签:
【中文标题】gvisTables 未在 Shiny 应用程序中呈现【英文标题】:gvisTables not rendering in Shiny apps 【发布时间】:2015-09-26 23:35:03 【问题描述】:我要解决的实际问题:我正在创建一个包含数据表的仪表板。我希望用逗号将数字格式化为千位分隔符,但是(显然)DT 包与 Shiny 一起使用时存在问题,因为逗号分隔的格式会导致 DT::renderDataTable 以字符形式读取数字,这会影响数字的排序方式。 (看起来,DT 的数字格式化功能不适用于 Shiny。)
我目前所处的位置: 我能找到的唯一解决方案是使用 googleVis 而不是 DT 来创建表格。现在我遇到了一个不同的问题(如下所述),但我真正关心的是具有以逗号分隔的数字排序的数据表。
GoogleVis 问题:当我在 Shiny 应用程序之外使用 gvisTable 时,它们呈现得非常好,但在 Shiny 中使用 renderGvis 和 htmlOutput 时它们根本不呈现。举个例子,我借用here.的例子4
不使用 Shiny,我的代码如下所示:
library(datasets)
library(googleVis)
myOptions <- list(page='enable', pageSize=10, width=550)
Table <- gvisTable(Population,options=myOptions)
plot(Table)
使用 Shiny,是这样的:
library(datasets)
library(googleVis)
library(shiny)
shinyApp(
ui = pageWithSidebar(
headerPanel("Example 4: pageable table"),
sidebarPanel(
checkboxInput(inputId = "pageable", label = "Pageable"),
conditionalPanel("input.pageable==true",
numericInput(inputId = "pagesize",
label = "Countries per page",10))
),
mainPanel(
htmlOutput("myTable")
)
),
server = function(input,output)
myOptions <- reactive(
list(
page=ifelse(input$pageable==TRUE,'enable','disable'),
pageSize=input$pagesize,
width=550
)
)
output$myTable <- renderGvis(
gvisTable(Population,options=myOptions())
)
)
非常感谢任何帮助!
【问题讨论】:
【参考方案1】:我解决了自己的问题。事实证明,RStudio 的原生浏览器很难通过 Shiny 显示 googleVis 展品。我需要做的就是在 Firefox 中打开它……我想我以前从来没有同时感到这么多“呜呜”和“呃”。
【讨论】:
以上是关于gvisTables 未在 Shiny 应用程序中呈现的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Linux VM 中的 Shiny 服务器上部署 Shiny 应用程序
RStudio 服务器 Shiny 上的 R Shiny dev 应用程序启动时崩溃