我在服务器端有每天的数据,想根据日期输入加载数据
在服务器端,我有这个:
dateInput("date","Enter a date:",value = "2014-01-13"))
Run Code Online (Sandbox Code Playgroud)
在用户界面方面,
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)
})
})
Run Code Online (Sandbox Code Playgroud)
我想将负载加载到服务器功能中,并且可以随着日期的变化加载不同的数据。谢谢!
阅读教程中的这些页面:
您可以将函数load内部的调用放在shinyServer另一个函数中,reactive以便您可以动态引用数据集,并且每个会话可以同时加载不同的数据。
因此,将这样的函数添加到您的shinyServer函数中(请注意,您可能需要修改日期输入字符串的格式以使其与您的文件命名方式兼容)。
dataset <- reactive({
filename <- paste0("data_", input$date, ".Rdata")
load(filename)
})
Run Code Online (Sandbox Code Playgroud)
那么您可以dataset()在其他地方引用server.R以获取该用户数据集的适当值。