我无法在绘图中显示数据表中的所有过滤行,并且假设使用所有过滤行的函数 -> input$tabelle_rows_all
仅使用当前页面上的行!我的DT版本是0.1,无法更新到github版本。我尝试了很多方法,首先是通过 devtools::install_github('rstudio/DT')
但我遇到了错误
...--install-tests Der Befehl "C:\Program" ist entweder falsch geschrieben oder konnte nicht gefunden werden. Error: Command failed (1)
我下载了开发版(https://github.com/rstudio/DT/archive/master.tar.gz)并使用了命令
install.packages("C:/Users/XX/Downloads/DT-master.tar.gz",lib="C:/Users/XX/Documents/R/win-library/3.2 ")
。
但是我仍然得到错误:
install.packages 中的警告:包“C:/Users/XX/Downloads/DT-master.tar.gz”不可用(对于 R 版本 3.2.3)
...
这是我需要 DT 的非常必要和重要的选项,无论如何我可以完成它吗?
简单的代码示例:
library(shiny)
library(DT)
library(ggplot2)
x <- as.numeric(1:1000000)
y <- as.numeric(1:1000000)
data <- data.frame(x,y)
shinyApp(
ui = fluidPage(dataTableOutput('tableId'),
plotOutput('plot1')),
server = function(input, output) {
output$tableId = renderDataTable({
datatable(data, options = list(pageLength = 100, lengthMenu=c(100,200,300,400,500,600)))
})
output$plot1 = renderPlot({
filtered_data <- data[input$tableId_rows_all, ]
ggplot(data=filtered_data, aes(x=x,y=y)) + geom_line()
})
}
)
感谢您的关注
[再清除一次]:
我得到了相当大的数据(>5000000 行),我使用带过滤器的数据表 (DT
) 在 Shiny 的应用程序中显示它。根据用户对过滤的偏好,假设它给了我们 550 行(但它可以给我们更多或更少)。由于分页,我无法看到所有 550 行(假设 pageLength
为 100)或者更糟糕的是,我无法在绘图中进一步显示所有过滤的行 ,作为函数 input$tabelle_rows_all
使用当前页面上的行(我必须首先更改条目号)。 有没有办法在过滤数据表后获取所有找到的行(不依赖于 pageLength
)?
我在某处读到问题可能出在版本 od DT
上,所以也许 DT
0.1 不支持绘制所有找到的行的功能,所以我希望 github 版本的 DT
是我的问题的解决方案。但我可能错了!
最佳答案
根据您遇到的错误,我相信您有较新版本的 R (3.2.3),DT 包尚不支持该版本。
如果您将 R 版本降级到较旧的版本,它应该可以工作(它在 3.1.2 版本上对我来说工作正常)。 This article如果您使用 Rstudio 或 this topic 可能会帮助您安装旧版本的 R如果您在 ubuntu 上使用 R。
安装旧(更)版本的 R 后,您可以通过键入以下内容来安装包:
install.packages("DT")
然后您应该可以通过键入以下内容来加载它:
library(DT)
关于r - DT Shiny R - [input$tableId_rows_all, ] 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35336305/