我在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")
),
答案 0 :(得分:0)
每个有光泽的会话都是独立的,因此您可能需要一个在所有会话中共享的全局变量。全局变量可以在global.R中与server.R和ui.R在同一文件夹中定义。更多参考here
或者您可以使用他们提交的时间戳在单独的txt文件中编写调查结果,并在调查完成后立即读取,然后将最终结果写入excel文件。