Мое приложение Shiny становится немного длиннее, так как я рисую различные графики на нескольких панелях. Соответственно, чтобы помочь некоторым организациям, мне было интересно, можно ли было переместить код для графиков в отдельный r-скрипт и вызвать эти графики из исходного r-скрипта.
Добавляя некоторые дополнительные сложности, графики, которые я бы хотел отобразить, требуют ввода данных пользователем из приложения Shiny.
Можно ли использовать код из другого скрипта в R для построения графиков и, если да, то как? Кроме того, поскольку будет несколько графиков, можно ли указать, какой граф из нового r-скрипта будет go в указанном месте, или мне нужно будет создать отдельный r-скрипт для каждого графа (что приведет к поражению цель усиленного организационного надзора)?
Я написал несколько упрощенных, воспроизводимых кодов (см. ниже), которые, я надеюсь, дадут вам представление о том, что я ищу. По сути, я хотел бы, чтобы любой код, который создает график в renderPlot (), поступал из отдельного r-скрипта.
Большое спасибо за любую помощь!
library(shiny)
ui <- fluidPage(
mainPanel(
selectInput("input1","Select an option",choices = c("First","Second")),
plotOutput("plot1"),
plotOutput("plot2")
)
)
server <- function(input, output, session) {
output$plot1 = renderPlot({
if(input$input1=="First"){
##This is where I'd like to call the code for the graph from another sheet.
plot(1,main = input$input1)
}
if(input$input1=="Second"){
##Again, this is where I'd like to code for the graph from another sheet.
plot(2,main = input$input1)
}
})
output$plot2 = renderPlot({
if(input$input1=="First"){
##This is where I'd like to call the code for the graph from another sheet.
plot(1*rnorm(1,10,2),main = input$input1)
}
if(input$input1=="Second"){
##Again, this is where I'd like to code for the graph from another sheet.
plot(2*rnorm(1,50,2),main = input$input1)
}
})
}
shinyApp(ui, server)