我在服务器端拥有每天的数据,并希望根据日期输入加载数据
在服务器端,我有这个:
dateInput("date","Enter a date:",value = "2014-01-13"))
在UI方面,
library(shiny)
library(googleVis)
library(rpart.plot)
load("data_2014_01_13_new.RData") #seg and fit are data in this file
shinyServer(function(input, output) {
output$values <- renderGvis({
gvisTable(seg[seg$rate >= input$test[1] & seg$rate <= input$test[2],])
})
output$plot <- renderPlot({
prp(fit,extra=T)
})
})
我想将加载放入服务器功能,并可以在日期更改时加载不同的数据。谢谢!
答案 0 :(得分:3)
阅读教程中的这些页面:
您可以将load
调用shinyServer
调用到另一个reactive
中,以便您可以动态引用数据集,并且每个会话可以同时加载不同的数据。
因此,在shinyServer
函数中添加这样的函数(请注意,您可能需要按下日期输入字符串的格式,以使其与文件的命名方式兼容)。
dataset <- reactive({
filename <- paste0("data_", input$date, ".Rdata")
load(filename)
})
然后,您可以在dataset()
的其他位置引用server.R
,以获取此用户数据集的相应值。