當我使用runApp()時,我的應用程序在本地計算機上正常工作。錯誤:在將應用程序部署爲發光時找不到函數「dmy」
問題是,當我想部署它,它給了我一個錯誤,它無法找到一個功能: 錯誤:沒有本質pudo encontrar LAfunción「DMY」
翻譯爲: 錯誤:找不到函數「dmy」。
我知道這個函數是lubridate(我在本地)的一部分,我知道我應該把它安裝在服務器上,但我不能。我環顧四周,我找不到 library(lubridate)
應該去。
這裏是我的代碼(遺憾的語法錯誤,但林新在閃亮):
#Comienzo la aplicación
#Cargo las librerÃas
require(shiny)
require(rsconnect)
require(lubridate)
#Cambio el directorio (solo lo uso si lo voy a correr local)
#setwd("C:/Users/borja.sanz/Desktop/Borja/R/Shiny/Directorio - Proyecciones Productos")
#Cargo los datos
data<-read.csv("./data/Pruebas Shiny.csv")
#Obtengo los niveles de cada factor
Producto.Maestro = levels(data$Producto.Maestro)
Producto = levels(data$Producto)
Pais = levels(data$Pais)
#Cambio las fechas a formato de fecha
data$Fecha = dmy(data$Fecha)
#Extraigo el año
data$Año = as.factor(year(data$Fecha))
#Obtengo los niveles de Año
Años = levels(data$Año)
#-------------------------------------------------------------------
#Comienzo la interfaz de usuario
ui <-
shinyUI(pageWithSidebar(
headerPanel("Proyecciones de Productos"),
#Creo los inputs del sidebar
sidebarPanel(uiOutput("duracion"),
uiOutput("pais"),
uiOutput("año"),
uiOutput("producto.maestro"),
uiOutput("producto")),
mainPanel()
)
)
#Comienzo el archivo de servidor
require(shiny)
require(lubridate)
server <- function(input, output) {
output$duracion = renderUI(sliderInput(inputId = "duracion",
label = "Seleccione la duración de su promoción:",
value = 45, min = 15, max = 90)
)
output$pais = renderUI(selectInput(inputId = "pais",
label = "",
choices = c("Seleccione un paÃs",levels(data$Pais)),
selected = "Seleccione un paÃs")
)
output$año = renderUI(selectInput(inputId = "año",
label = NULL,
choices = c("Seleccione un año",levels(data$Año)),
selected = "Seleccione un año")
)
output$producto.maestro = renderUI(
selectInput(inputId = "producto.maestro",
label = NULL,
choices = c("Seleccione un producto maestro",levels(data$Producto.Maestro[which(data$Pais == input$pais & data$Año == input$año)])),
selected = "Seleccione un producto maestro")
)
output$producto = renderUI(
if(input$pais == "Seleccione un paÃs" || input$año == "Seleccione un año" || input$producto.maestro == "Seleccione un producto maestro"){return()
}else selectInput(inputId = "producto",
label = NULL,
choices = c("Seleccione los productos relevantes",levels(factor(data$Producto[which(data$Pais == input$pais & data$Producto.Maestro == input$producto.maestro)]))),
selected = levels(factor(data$Producto[which(data$Pais == input$pais & data$Producto.Maestro == input$producto.maestro)])),
multiple = TRUE)
)
}
#Corro la aplicación
shinyApp(ui = ui, server = server)
您可能沒有加載lubridate軟件包。我也有一些像'Años' –
@ 42這樣的沒有引號的名字的問題 - 我修復了怪異的字符。他們是在保存時因爲編碼而發生的。我知道我沒有加載lubridate軟件包,但我的問題是我的代碼應該在哪裏去加載到服務器上? – borjasanz