R闪亮手持设备在更改单个单元格后自动更新功能

问题描述 投票:0回答:1

我正在尝试熟悉rhandsontable软件包。因此,我尝试了一些我认为应该很容易但无法找到解决方案的事情。这是想法:

我正在使用随机数并在文本框中创建一个数据框。应显示数据框第1列的平均值。此外,一旦更改数据帧中单元格的值,该数字应立即更新。

我的代码:

ui <- fluidPage(
  textOutput("num"),
  rHandsontableOutput(outputId="frame")
)

server <- function(input, output, session) {

  datavalue <- reactiveValues(data=df)

  observeEvent(input$frame$changes$changes,{
    mean_col1 <- mean(datavalue$data[[1]][1:10])   
  })        

  output$num <- renderText({
    mean(datavalue$data[[1]][1:10])
  })

  output$frame <- renderRHandsontable({
    rhandsontable(datavalue$data)
  })
}

shinyApp(ui = ui, server = server)
r shiny handsontable
1个回答
0
投票

我认为您希望在发生更改时使用hot_to_r将可操作表转换为R对象。您可以在发生这种情况时更新reactiveValue datavalue$data,并且您的output$num也会用新的平均值来说明此更改。

尝试在observeEvent中使用此功能:

datavalue$data <- hot_to_r(input$frame)

作为替代,您可以如下进行一般的observe

observe({
  req(input$frame)
  datavalue$data <- hot_to_r(input$frame)
})
© www.soinside.com 2019 - 2024. All rights reserved.