Я хочу отправить мой фрейм данных из функции summ()
в функцию сервера. Я выполняю все операции в функции summ()
{операции не отображаются} и, наконец, dataframes
готово. На сервере я хочу построить два отдельных графика, используя эти кадры с именами df
и df1
. Может кто-нибудь помочь мне, как отправить эти кадры данных из функции summ
в блестящий .
library(shiny)
library(ggplot2)
ui<-fluidPage(
sidebarLayout(
sidebarPanel(
sliderInput(inputId = "Y",label = "Price", value = 2, min =1,max = 6),
sliderInput(inputId = "d_km",label = "Distance", value = 5, min =1,max = 20),
sliderInput(inputId = "fact",label = "Multiplication", value = 2, min =1,max = 5),
actionButton(inputId = "button", label = "Simulate")
),
mainPanel(
plotOutput("X"),
plotOutput("HH")
)
)
)
summ<-function(Y,d_km,fact)
{
### code ###
df <- data.frame("x"=x,"y1"=y1,"y2"=y2)
df1<- data.frame("obj"=obj_vector)
returns <- list(plot = df, plots=df1)
}
server<-function(input, output,session){
default_list <- list(plot = df, plots=df1)
# daf <- data.frame()
rv<-reactiveValues(data=default_list)
rv$data <- reactive(summ (input$Y, input$d_km, input$fact))
frame <- eventReactive(input$button, {
returned <- rv$data()
cost <- returned$plot
})
frame1 <- eventReactive(input$button, {
returned <- rv$data()
coost <- returned$plots
})
output$X <- renderPlot({
ggplot(frame(), aes(x)) + # basic graphical object
geom_line(aes(y=y1), colour="red") + # first layer
geom_line(aes(y=y2), colour="green")+
xlab("Bag_no.")+ylab("Price in USD")+
geom_text(aes(y=y1,label=y1),size=3,angle=45)
})
output$HH <- renderPlot({
ggplot(frame1(),aes(x=seq(1,runs,1),y=obj_vector))+geom_line(colour="blue")+
xlab("Simulation_run")+ylab("Objective_value")
# grid.arrange(p1,p2,ncol=2)
})
}
shinyApp(ui = ui, server = server)
Ценю вашу помощь.