簡體   English   中英

DT Shiny R - [輸入$ tableId_rows_all,]不起作用

[英]DT Shiny R - [input$tableId_rows_all, ] not working

我無法在繪圖中顯示數據表中的所有已過濾行,並且該函數(假設使用所有已過濾的行 - > 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 ,所以DT 0.1不支持繪制所有找到的行的函數,所以我希望DT的github版本是我的問題的解決方案。 但我可能錯了!

根據你得到的錯誤,我相信你有更新版本的R(3.2.3)DT包尚不支持。

如果你將你的R版本降級到較舊版本它應該可以工作(它在版本3.1.2上適用於我)。 如果您正在使用Rstudio, 本文可能會幫助您安裝舊版本的R,如果您在ubuntu上使用R,則可以使用此主題

安裝舊的(呃)R版本后,可以通過鍵入以下內容來安裝軟件包:

install.packages("DT")

然后您應該可以通過鍵入以下內容來加載它:

library(DT)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM