首页 > 解决方案 > 单击 actionButton 时向数据框添加新行

问题描述

我正在尝试创建一个 R Shiny 应用程序,该应用程序根据输入值创建一个 1 行数据框,当单击操作按钮时,它将该数据框作为新行添加到另一个数据框(开始为空白)。

我浏览了 StackOverflow,但找不到可以解决我的问题的东西。

我想要发生的事情如下:

input$one <- "A"
input$two <- "B"
input$three <- "C"

df1 = A | B | C 

现在,当我按下 actionButton 时,我希望df2(从空白开始)如下:

df2 = A | B | C

接下来,我希望能够添加更多行。因此,如果我将输入值更改为以下内容:

input$one <- "X"
input$two <- "Y"
input$three <- "Z"

df1 = X | Y | Z 

我再次单击 actionButton,df2应该更新为以下内容:

df2 = A | B | C
      X | Y | Z

最后,最后一次更新并单击 actionButton 如下:

input$one <- "1"
input$two <- "2"
input$three <- "3"

df1 = 1 | 2 | 3

*actionButton click*

df2 = A | B | C
      X | Y | Z
      1 | 2 | 3

我想尽可能多地执行此操作,每次单击 actionButton 时,它都会将其中的任何内容df1作为新行添加到df2. 我知道这必须使用 rbind,但是如何使用 actionButton 来完成呢?

标签: rdataframeshiny

解决方案


这对我有用。

mydata <- data.frame()

  df <- eventReactive(input$add_payer, {
      newrow <- data.frame(ALEMO())
      mydata <<- rbind(mydata, newrow)
    })

  output$all_data <- renderTable(df())

推荐阅读