R闪亮不显示数据表
Posted
技术标签:
【中文标题】R闪亮不显示数据表【英文标题】:R shiny does not display datatable 【发布时间】:2014-05-13 21:31:20 【问题描述】:我正在制作一个闪亮的应用程序,它显示带有数据库查询结果的数据表。 我使用内部包来检索数据,我确信它可以正常工作。
当我想显示其中一个 db 的数据表时,我没有问题,但是当我想显示另一个时,表根本不会出现。
我使用响应函数来检索数据并使用 renderDataTable() 来显示它。代码如下:
shinyServer(function(input, output)
dataset <- reactive(
if(input$experiment!=""&!is.null(input$experiment))
if(input$db=="db1")
data <- querydb1(experimentID=input$experiment)
if(input$db=="db2")
data <- querydb2(experimentID=input$experiment)
)
# output table
output$data <- renderDataTable(
dataset()
)
)
【问题讨论】:
如果您从querydb..
语句之前删除 data<-
有帮助吗?
【参考方案1】:
你的响应式需要返回一些东西。试试这个:
if(input$experiment!=""&!is.null(input$experiment))
if(input$db=="db1")
data <- querydb1(experimentID=input$experiment)
if(input$db=="db2")
data <- querydb2(experimentID=input$experiment)
return(data)
【讨论】:
感谢这个成功了,还是不明白为什么 db2 有效而 bd1 无效 默认情况下,R 返回表达式中最后评估的语句。所以你在技术上不需要最后调用return
,你可以引用变量data
。由于 db2 是最后评估的块,如果条件通过,则返回它。 db1
的 data
从来都不是最后一个评估的语句,所以它永远不会被返回。以上是关于R闪亮不显示数据表的主要内容,如果未能解决你的问题,请参考以下文章