【问题标题】:DT Shiny R - [input$tableId_rows_all, ] not workingDT Shiny R - [input$tableId_rows_all, ] 不工作
【发布时间】:2016-05-22 01:12:43
【问题描述】:

我无法在绘图中显示数据表中的所有过滤行,并且假设使用所有过滤行的函数 -> 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/Docu‌​ments/R/win-library/3.2")

但我仍然得到错误:

Warning in install.packages : package ‘C:/Users/XX/Downloads/DT-master.tar.gz’ is not available (for R version 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) 在闪亮的应用程序中显示它。根据用户对过滤的偏好,假设它给了我们 550 行(但它可以给我们更多或更少)。由于分页,我无法看到所有 550 行(假设 pageLength 为 100)或更糟的是,我无法在绘图中进一步显示所有过滤行,作为函数 @987654332 @ 使用当前页面上的行(我必须先更改条目号)。 有什么方法可以在过滤数据表后获取所有找到的行(不依赖于 pageLength)?

我在某处读到问题可能出在 od DT 版本上,所以 DT 0.1 可能不支持绘制所有找到的行的功能,所以我希望 DT 的 github 版本是我的问题的解决方案。但我可能错了!

【问题讨论】:

  • 遇到同样的错误:Downloading GitHub repo rstudio/DT@master from URL https://api.github.com/repos/rstudio/DT/zipball/master Installing DT Installing 1 package: htmlwidgets package ‘htmlwidgets’ successfully unpacked and MD5 sums checked "C:/Program Files/R/R-32~1.3/bin/x64/R" --no-site-file --no-environ --no-save --no-restore CMD INSTALL \ "C:/Users/XX/AppData/Local/Temp/RtmpYHkDIK/devtools5104e037a5a/rstudio-DT-a63e9ac" \ --library="C:/Users/XX/Documents/R/win-library/3.2" --install-tests Der Befehl "C:\Program" ist entweder falsch geschrieben oder konnte nicht gefunden werden
  • 好的,看起来像这样person had a similar problem,这个one as well...路径中有空格
  • 嘿,谢谢你的想法,我没有管理员权限,但是一旦团队领导出现我就会尝试一下:但是 Bas 下面的帖子说 DT 不适用于 R 版本3.2.3..?
  • 您的代码在 Mac 上的 R 版本 3.2.3、DT 版本 0.1 上运行良好
  • @Malvina_a,我不完全确定我的答案是否有效,这就是我认为有效的方法。 Nice 所说的也可能是这种情况,但这也取决于您运行的是哪种服务器。

标签: r shiny dt


【解决方案1】:

根据您收到的错误,我相信您有更新版本的 R (3.2.3),但 DT 包尚不支持。

如果您将 R 版本降级到旧版本,它应该可以工作(在 3.1.2 版上对我来说可以正常工作)。如果您使用 Rstudio,This article 可能会帮助您安装旧版本的 R,如果您在 ubuntu 上使用 R,this topic 可能会帮助您安装。

安装旧版本的 R 后,您可以通过键入以下内容来安装软件包:

install.packages("DT")

然后你应该可以通过键入来加载它:

library(DT)

【讨论】:

  • 嗨,Bas,确定 DT 不适用于 R (3.2.3) 吗?我对一开始收到的警告Warning in install.packages : package ‘C:/Users/XX/Downloads/DT-master.tar.gz’ is not available (for R version 3.2.3) 不太相信。我只是想在真正去找 IT 人员之前确定一下(我没有在本地使用 R,它在我们的服务器上)
  • @Malvina_a 你试过install.packages("DT") 命令吗?在运行 R 之前,您可能需要 sudo 访问权限。如果 install.packages("DT") 失败,请查看 this answer
猜你喜欢
  • 1970-01-01
  • 2018-08-09
  • 2018-07-02
  • 2016-01-17
  • 2020-10-28
  • 2021-12-13
  • 2021-11-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多