这是一个非常奇怪的问题,最近几个小时我一直在挣扎。下面有一个可复制的示例。它似乎是闪亮的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。而是只显示一个空表。截图。
但是非常令人惊讶的是,如果我仅将data.frame替换为mtcars
,它将被正确显示。您只需要取消注释下一行DTOutput
。然后在运行Shinyapp之前先注释第一个DTOutput
。
#DTOutput("list1")
DTOutput("list2")
在我们注释掉上一个DTOutput
并取消注释下一个后的屏幕截图。
更新
进一步缩小问题的范围,我发现在使用DT
R软件包而不使用shiny
的情况下输出数据表时,我也观察到相同的症状。
尝试
DT::datatable(data = data.frame(name=letters,age=1:13))
我只是在Rstudio Viewer和chrome浏览器中看到name
,age
,但表中没有内容。