我正在制作一个应用程序,向用户询问一些基本的调查问题。完成后,他们被要求通过幻灯条提供数字输入,按下继续,然后生成绘图,要求用户再次输入,更新绘图等。第一个输入应该是绘图上的y1,第二个输入应该是绘图上的y2,等等。但除此之外,我还想保存用户输入的数据,这样我就可以在我的R脚本中全局访问它,这样它就可以使用sendmailR发送给我,或者作为文本文件下载到我的计算机上。但是我想不出该怎么做。这是我到目前为止所拥有的。
n=10 #number of times to ask the user for input which will be stored in harv[i]
Time = seq(n)
harv = rep(0,n) #initializing vector for storage of user input at time 1 through n
############### define server logic
shinyServer(function(input, output){
# Compute the forumla text in a reactive expression since it is
# shared by the output$caption and output$mpgPlot expressions
for(i in Time){
# generate a plot
output$yieldplot <- renderPlot({
harv[i] = input$harvest
plot(Time, harv, type='p', ylim=c(0,1))
})
}#for
})
下面是ui.R文件
###########################################
##### User Interface ###################
###########################################
library(shiny)
#Define UI for app
shinyUI(pageWithSidebar(
#title
headerPanel("Game"),
mainPanel( selectInput("workexp", "Have you ever been employed:",
list("No"="no", "Yes" = "yes")),
sliderInput("push", "Choose a number",
min = 0, max = 1, value = 0.5, step= 0.01),
submitButton("Enter"),
plotOutput("yieldplot")
)#mainpanel
))#shinyUI
此外,我的for循环一遍又一遍地尝试生成绘图将不起作用,我假设我需要做一些反应性的事情,但我需要找出一种方法来绘制过去所有存储在harv中的用户定义条目。我查看了downloadHanlder,但它会将数据和绘图下载到用户的计算机上。
发布于 2013-03-15 05:12:23
答案是在shinyServer函数之外定义一个变量。然后使用<<-
而不是<-
或=
在反应函数中进行全局赋值。然后,您可以在反应式函数之外访问它。但是,您只能在应用程序运行时访问它,但这对于通过电子邮件发送输入或将输入写入文本文件来说不是问题。
https://stackoverflow.com/questions/15327506
复制相似问题