renderDT仅显示标题,不显示任何行

时间:2019-01-20 11:09:05

标签: r shiny dt

这是一个非常奇怪的问题,最近几个小时我一直在挣扎。下面有一个可复制的示例。它似乎是闪亮的R DT软件包中的错误。

所以让我们看看发生了什么。

library(shiny)
library(DT)

df1 <- data.frame(x=1:10,y=1:2)
ui <- fluidPage(
  fluidRow(
    DTOutput("list1")
    #DTOutput("list2")
  )
)

server <- function(input,output) {
  output$list1 <- renderDT(df1)
  output$list2 <- renderDT(mtcars)
}

shinyApp(ui, server)

上面的代码不显示10行的简单data.frame。而是只显示一个空表。截图。

Rstudio viewer screenshot with blank output

但是非常令人惊讶的是,如果我仅将data.frame替换为mtcars,它将被正确显示。您只需要取消注释下一行DTOutput。然后在运行Shinyapp之前先注释第一个DTOutput

 #DTOutput("list1")
 DTOutput("list2")

在我们注释掉上一个DTOutput并取消注释下一个mtcars后的屏幕截图。

更新

进一步缩小问题的范围,我发现在使用DT R软件包而不使用shiny的情况下输出数据表时,我也观察到相同的症状。

尝试

DT::datatable(data = data.frame(name=letters,age=1:13))

我只是在Rstudio Viewer和chrome浏览器中看到nameage,但表中没有内容。

enter image description here

0 个答案:

没有答案