как хранить номера строк выбранных строк фрейма данных в блестящем через функцию наблюдения

Я использую Shiny для создания интерактивной панели инструментов с полями значений и некоторыми таблицами данных. Я хочу обновить значение в поле значения через выбранные строки фрейма данных в блестящем выводе. Однако я могу прочитать номера строк выбранных строк фрейма данных, но не смог сохранить их в списке или векторе.

введите здесь описание изображения

UI.R

shinyUI(fluidPage(
 dashboardPage(
    dashboardHeader(title = "NUS Testing"),
    dashboardSidebar(),
    dashboardBody(
    fluidRow(
      valueBoxOutput("norm")
    ),#ending of first fluid row
    fluidRow(dataTableOutput("table"))
    #fluidRow(verbatimTextOutput("x4"))
   )
   )#ending of dashboard page

))



Server.R
shinyServer(function(input,output,session){
  test=read.csv("test.csv",header = T)

  output$table = DT::renderDataTable(test,server = F)
  output$norm = renderValueBox({
    valueBox(
      paste0(summpg), "Progress", icon = icon("bicycle"),
      color = "aqua"
    )
  }) #ending of valuebox
  summpg=sum(test[,2])  
enter image description here
  x5 = observeEvent(input$table_rows_selected,{
    str(input$table_rows_selected)
  })

  #reading the data from observe event

}) #ending of shinyserver function

person Vamsi Grandhi    schedule 07.08.2016    source источник


Ответы (1)


Вы пытались создать реактивное выражение с помощью summpg? Следующее должно работать:

summpg <- reactive({
    sum(test[input$table_rows_selected, 2])
})

Обратите внимание, что это превращает summpg в реактивную функцию, поэтому вам нужно ссылаться на нее как summpg() (в круглых скобках) в другом месте. reactive необходимо, если вы хотите, чтобы сумма обновлялась при каждом изменении выбранных строк.

person Philippe Marchand    schedule 07.08.2016