3

我无法在绘图中显示数据表中的所有过滤行,并且假设使用所有过滤行 -> 的函数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 行)或更糟糕的是,我无法在绘图中进一步显示所有过滤的行,因为函数input$tabelle_rows_all 使用当前页面上的行(我必须先更改条目编号)。有什么方法可以在过滤数据表(不依赖于 pageLength)后获取所有找到的行?

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

4

1 回答 1

0

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

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

一旦你安装了 R 的旧(er)版本,你可以通过输入以下命令来安装包:

install.packages("DT")

然后您应该可以通过键入以下内容来加载它:

library(DT)
于 2016-03-10T08:56:08.813 回答