R:将反应输出写入excel文件?

时间:2016-04-08 17:35:00

标签: r excel shiny

我在R中创建一个方法,从调查中获取4个值,然后将它们保存到局部变量并将它们放在矩阵中,然后将该矩阵写入excel文件。非常简单的概念,但是由于输入是反应性的...如果输入了多个调查,那么它只会覆盖先前的调查..所以现在我需要一个计数器变量。这是代码的一些剪辑。

(在服务器类中)

  surveyFinish <- eventReactive(input$click2,{``
  state = input$UState
  happiness = input$UHap
  work = input$UWork
  env = input$UEnv
  surveyans <- paste(state, happiness, work, env, sep=" ")

  newMat = matrix(
    c(state, env, work, happiness),
    nrow = 1,
    ncol = 4,
    byrow = TRUE)

  writeWorksheetToFile("StateSurvey.xlsx", newMat, "SomeOtherSheet", z, 1, header = FALSE)
  write.table(newMat, "SurveyTab.txt", sep="\t")



  return()
})

 output$youSaid<- renderDataTable({
  surveyFinish()
})

(在用户界面中)

tabPanel("Survey",
                  textInput("UState", label = h2("Your State"), 
                            value = "State name"),
                  numericInput("UHap", label = h2("Your Happiness"), 
                            value = "Enter a number from 1-10", min = 1, max = 10),
                  numericInput("UEnv", label = h2("Your Environment"), 
                               value = "Enter a number from 1-10", min = 1, max = 10),
                  numericInput("UWork", label = h2("Your Workload"), 
                               value = "Enter a number from 1-10", min = 1, max = 10),
                  actionButton("click2", "Finish Survey!"),

                  tableOutput("youSaid")


         ),

1 个答案:

答案 0 :(得分:0)

每个有光泽的会话都是独立的,因此您可能需要一个在所有会话中共享的全局变量。全局变量可以在global.R中与server.R和ui.R在同一文件夹中定义。更多参考here

或者您可以使用他们提交的时间戳在单独的txt文件中编写调查结果,并在调查完成后立即读取,然后将最终结果写入excel文件。