R 在shiny应用程序中,如何存储用户输入/输出供以后使用?

R 在shiny应用程序中,如何存储用户输入/输出供以后使用?,r,dataframe,shiny-server,shiny,R,Dataframe,Shiny Server,Shiny,用户输入一个文本 基于此文本,我的应用程序进行预测(KatzPred函数),并返回data.frame-每次用户输入单词时都会更新 函数返回的data.frame如下所示: pred PKatz the 0.003 of 0.002 in 0.002 to 0.001 我的服务器应该将此预测与用户文本进行比较,并将data.frame和plot作为输出 这是我的代码,它没有按预期工作(我只得到最后一个预测,不能使用所有预测) 服务器.R teste&l

用户输入一个文本

基于此文本,我的应用程序进行预测(KatzPred函数),并返回data.frame-每次用户输入单词时都会更新

函数返回的data.frame如下所示:

pred  PKatz

the     0.003
of      0.002
in      0.002
to      0.001
我的服务器应该将此预测与用户文本进行比较,并将data.frame和plot作为输出

这是我的代码,它没有按预期工作(我只得到最后一个预测,不能使用所有预测)

服务器.R

teste<-reactive({
            KatzPred(input$userinput)
    })
 output$predTable<-renderDataTable({teste()})

prediction<-reactive({
  a<-c()
  a<-c(a,teste()$term[1])
  a
 })

newtext<-reactive({
            if (length(unlist(strsplit(input$userinput, " ")))>0){
               actual<-unlist(strsplit(input$userinput, " "))
               pred.data<-data.frame(pred = prediction() , actual = actual, correct = prediction()==actual)
               pred.data<-mutate(pred.data, accuracy = cumsum(correct)/1:nrow(pred.data))
            }else{

               pred.data<-data.frame(pred = "", actual = "")

            }
            pred.data
    })
output$accu<-renderDataTable({newtext()})
output$accu2<-renderPlot({
          (ggplot(data= newtext(),aes(x=1:nrow(newtext())))
            +geom_line(aes(y=accuracy, group=1))
             +geom_point(aes(y=accuracy)))
 })
应在何时(在R上运行):

这个应用程序正在做我想做的事情(它将用户输入与预测历史进行比较)在右下角的图表中


给我们举一个完整的可运行的例子怎么样?我知道这是一点工作,但你更可能得到这样的答案。我不能,因为我将不得不张贴的功能代码…我需要知道如何使一个向量组成的所有用户输入。。。而且不仅仅是最后一个…所以发布函数代码。要在调用之间保存变量,请尝试使用
pred     actual    correct    accuracy

to        i          FALSE      0
to        am         FALSE      0
to        going      FALSE      0
to        out        FALSE      0
pred     actual    correct    accuracy

the       i          FALSE      0
am        am         TRUE       0.5
very      going      FALSE      0.33
out       out        TRUE       0.5