Shiny 응용 프로그램에서 rhandsontable
을 표시하고 편집하고 싶습니다. 데이터 프레임이 상당히 크기 때문에 사용자가 전체 1000 개의 행을 표시하는 대신 특정 행을 필터링 할 수 있기를 원합니다 (아래 예 참조). input$row
을 기반으로 하위 집합 hot
에 대한 반응 값을 만들 수 있지만 DF[input$row,]
은 input$hot
에 할당되므로 다음에 input$hot
값을 얻습니다. 단 하나의 행만있는 데이터 프레임을 반환합니다. R의 rhandsontable 행 필터링 Shiny
library(shiny)
library(rhandsontable)
ui <- shinyUI(fluidPage(
numericInput("rows","row to filter",value = 1),
rHandsontableOutput("hot")
))
server <- shinyServer(function(input, output, session) {
# render handsontable output
output$hot <- renderRHandsontable({
if (!is.null(input$hot)) {
DF <- hot_to_r(input$hot)
} else {
set.seed(42)
DF <- data.frame(a=1:1000, b= rnorm(1000))
}
rhandsontable(DF)
})
})
runApp(list(ui=ui, server=server))
인가가 연결된
input$hot
제외하고 (영향을받지 않습니다 있도록의, 내가 실제로 서브 세트하지 않고 내 데이터 프레임의 필터링 된 버전을 렌더링 할 수있는 것 내가
rhandsontable()
에 적용 할 수있는 필터링 paramenter 물론, 사용자가 수정 한 내용은 무엇입니까?)
사용자가 textInput 상자에 필터 할 행을 쓰고 싶으면 row
그리고 그에 따라 필터링 할 표를 원합니다. 당신은 필터, 그렇게 할 수 없어
무엇 하위 집합이없는 필터링 된 버전 "을 의미합니까? 무엇을 렌더링하고 싶습니까? –
@ StéphaneLaurent, 예상 렌더링을 추가했습니다. 내가 가진 문제는'DF [rows,]'와 같은 방식으로 DF를 부분 집합으로 선택하면 (물론 반응적인 방식으로) 부분 집합 DF가'input $ hot'에 저장되고 나머지는 999 행. –