Ich versuche, ein R-Skript als eine R Shiny App auszuführen. Vom Benutzer wird der Benutzer eine CSV-Datei hochladen und 4 numerische Variablen eingeben. Diese Variablen sollten durch die Funktion geschickt werden und es wird eine final_table generiert, die als Ausgabe in der Shiny App angezeigt werden soll. Derzeit werden die Variablen durch die Funktion geleitet, aber nicht in der finalen Tabelle. Ich bin neu mit RShiny, schätze deine Hilfe bei der Arbeit.Wie führe ich ein langes R-Skript als Funktion in RShiny aus und zeige die Lösung im ui an?
my_function.R ist die Skriptdatei, die die Funktion my_function() enthält. Dies ist tatsächlich ein R-Skript mit 500 Zeilen, das zur Erleichterung der Verwendung in eine Funktion komprimiert ist.
my_function <- function(tbl_load, ts_freq, ts_start_yr, ts_start_month, seasonal_cat) {
..........
return(collect_ALL_final_fair)
}
ui.R
library(shiny)
fluidPage(
titlePanel("Elasticity Tool"),
sidebarLayout(
sidebarPanel(
fileInput('file1', 'Choose datatable csv file', accept=c('.csv')),
numericInput("ts_freq", "Time series frequency:", 52, min = 1, max = 100),
numericInput("ts_start_yr", "Starting year:", 2013, min = 1990, max = 2030),
numericInput("ts_start_month", "Starting month:", 3, min = 1, max = 12),
numericInput("seasonal_cat", "Seasonal Category", 0, min = 0, max = 1),
br(),
actionButton("goButton", label = "Run tool"),
br()
),
mainPanel(
tabsetPanel(type = 'tabs',
tabPanel("Output", tableOutput('contents2'))
)
)
)
)
server.R
library(shiny)
library(datasets)
source("my_function.R")
#packages
library("glmnet")
library(Matrix)
library(dplyr)
library(forecast)
library(zoo)
library(stats)
library(car)
options(scipen = 999)
shinyServer(function(input, output) {
observeEvent(input$goButton, {
tbl_load <- input$file1
ts_freq <- input$ts_freq
ts_start_yr <- input$ts_start_yr
ts_start_month <- input$ts_start_month
seasonal_cat <- input$seasonal_cat
output$contents2 <- renderDataTable({
my_function(tbl_load, ts_freq, ts_start_yr, ts_start_month, seasonal_cat)
})
})
})
Try 'Quelle ("my_function.R" local = TRUE)' oder 'Quelle ("Ihre Funktion location.r" local = TRUE)' –