使用Shiny App(R)从文本输入中连续输出新的数据帧

时间:2014-04-24 16:18:13

标签: r shiny

我试图通过添加新行然后使用闪亮的输入和输出渲染最新更新的表来连续填充数据框。用户输入"推荐"在文本字段中,每次单击操作按钮时都需要将其添加到数据框中。用户应该能够根据需要添加任意数量的行。这是我的代码:

server.R

# here I am using observe and isolate to ensure the action button only applies to the textfield in question

values <- reactiveValues(textInput = NA)

observe({

    if(input$actionButton > 0) {

        values$textInput <- isolate(input$textInput)

    }

})

# here is the output to render the table. Note that there is a function called "addRec" which brings in the current data frame with existing recommendations and the most recently typed recommendation from the text input

 output$table <- renderTable({

  p <- addRec(currentFrame, values$textInput)
  p

})

我的ui.R像往常一样显示表格

htmlOutput("table")

这是我用来向数据框添加新行的函数。它接收当前存在的数据框,添加一个带有新textInput的行和一些其他值,使用绑定创建新数据框,然后返回新形成的帧。

addRec <- function(currentFrame, newRecommendation) {

newRecommendation <- c(newRecommendation, 11, 'low', 'low', 'low', 'low', 'low', 'low', 'low')

lFinal <- list(currentFrame, newRecommendation)
newFrame <- do.call("rbind", lFinal)

return(newFrame)

}

你可以在我的server.R文件中看到输出$ table递归地将最新的表添加到函数中。但我得到的只是返回没有新行的同一个表。当用户在文本字段中输入推荐时,它只是实时更新最后一行。每次新推荐时我都需要输出一个新的数据帧。

0 个答案:

没有答案