gpt4 book ai didi

r - 如何使用按钮更新 Shiny 的数据表

转载 作者:行者123 更新时间:2023-12-02 06:48:51 25 4
gpt4 key购买 nike

一旦用户按下 Shiny 中的按钮,我就会尝试简单地更新数据框的一列。我对当前显示的数据帧如何传递给服务器端函数感到有些困惑。

一旦按下按钮,列 cyl 应该增加 10。如果再次按下按钮,列应该采用重新计算的值并再乘以 10,等等。

到目前为止,我已经这样做了,但按下按钮时似乎没有任何 react 。

---
title: "My dataframe refresh"
output: html_document
runtime: shiny
---

```{r, echo=FALSE}
library(EndoMineR)
shinyApp(

ui <- fluidPage(
DT::dataTableOutput("mytable"),
actionButton("do", "Click Me")
),




server = function(input, output,session) {

#Load the mtcars table into a dataTable
output$mytable = DT::renderDataTable({
mtcars
})

#A test action button
observeEvent(input$do, {
renderDataTable(mtcars$cyl*10)
})
},
options = list(height = 800)
)
```

最佳答案

尝试这个:

library(shiny)
library(DT)

RV <- reactiveValues(data = mtcars)

app <- shinyApp(


ui <- fluidPage(
DT::dataTableOutput("mytable"),
actionButton("do", "Click Me")
),


server = function(input, output,session) {

#Load the mtcars table into a dataTable
output$mytable = DT::renderDataTable({
RV$data
})

#A test action button
observeEvent(input$do, {
RV$data$cyl <- RV$data$cyl * 10
})
}

)

runApp(app)

我总是存储我的数据帧,特别是如果它们应该在 reactiveValues 中是 react 性的列表。之后,您只需渲染数据,并在观察步骤中覆盖原始数据框。您必须明确覆盖数据才能存储结果, mtcars$cyl * 10不会影响 mtcars 数据框。

关于r - 如何使用按钮更新 Shiny 的数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50251813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com