我是新來shiny
但過濾數據表不知道是否有什麼辦法可以存儲過濾數據表(使用列過濾器)在R
對象,以便該過濾的數據可以被傳遞到直方圖和繪圖函數。使用閃亮
編輯15年5月7日:包括評論
我想使用內置列過濾器和 得到過濾表中的作者的擴大解釋,然後想劇情自動調整。我已經嘗試了DT 包,但我不太喜歡帶有此包的 的列過濾器,因爲從表格的子集中刪除 過濾器是不可能的(我認爲)
我是新來shiny
但過濾數據表不知道是否有什麼辦法可以存儲過濾數據表(使用列過濾器)在R
對象,以便該過濾的數據可以被傳遞到直方圖和繪圖函數。使用閃亮
編輯15年5月7日:包括評論
我想使用內置列過濾器和 得到過濾表中的作者的擴大解釋,然後想劇情自動調整。我已經嘗試了DT 包,但我不太喜歡帶有此包的 的列過濾器,因爲從表格的子集中刪除 過濾器是不可能的(我認爲)
只是建立在@ JasonAizkalns的例子,你可以隱藏一些使用jQuery的內置列過濾器。比如這裏前兩個是隱藏的:
library(shiny)
library(DT)
shinyApp(
ui = fluidPage(dataTableOutput('tbl'),
plotOutput('plot1')),
server = function(input, output) {
output$tbl = renderDataTable({
datatable(iris, filter="top",options = list(lengthChange = FALSE),callback=JS("
//hide column filters for the first two columns
$.each([0, 1], function(i, v) {
$('input.form-control').eq(v).hide()
});"))
})
output$plot1 = renderPlot({
filtered_data <- input$tbl_rows_all
hist(iris[filtered_data, "Sepal.Length"])
})
}
)
謝謝!這工作完美。 – jperdigao
@NicE建議的example非常有幫助。我包括一個小例子如下:
library(shiny)
library(DT)
shinyApp(
ui = fluidPage(dataTableOutput('tbl'),
plotOutput('plot1')),
server = function(input, output) {
output$tbl = renderDataTable({
datatable(iris, options = list(lengthChange = FALSE))
})
output$plot1 = renderPlot({
filtered_data <- input$tbl_rows_all
hist(iris[filtered_data, "Sepal.Length"])
})
}
)
這將生成的Sepal.Length
從iris
數據在DT::datatable
的過濾的數據集的直方圖。
注:這是假設的DT
和shiny
以下版本:
DT_0.0.39 shiny_0.11.1.9005
你的問題目前還不清楚。你是否希望data.table使用用戶選擇的某些輸入進行過濾(如來自'selectInput'小部件的值),然後你的圖自動調整? –
如果您使用'DT'包來呈現您的DataTable'輸入$ table_rows_all'包含過濾行的索引。有一個例子[這裏](https://yihui.shinyapps.io/DT-info/) – NicE
我想讓表格使用內置的列過濾器進行過濾,然後讓圖表自動調整。我已經試過了DT包,但是我不太喜歡這個包附帶的列過濾器,因爲不可能(我認爲)從表格的子集中刪除過濾器。 – jperdigao