2014-10-11 3 views
7

La mia app funziona correttamente localmente e sono in grado di distribuire correttamente la mia app sul server shinyapps.io, ma ottengo il seguente messaggio di errore quando provo a caricare l'app nel mio browser utilizzando il URL shinyapps: "Errore oggetto 'dati' non trovato. ' Penso che questo sia dovuto al fatto che la variabile 'data' legge da un file csv sulla mia directory locale C'è un modo per caricare questo file csv sul server shinyapps? Ho provato a cercare questo, ma non ho trovato nullaCaricamento file csv su shinyApps.io

Ecco il codice che sto usando per leggere i file. sto ricevendo il file dalla stessa directory di lavoro come il mio server.R e ui.R. Grazie

server.R

library(shiny) 
    college = read.csv("college.csv") 

ui.R (Ho aggiunto a questo per vedere se risolve il problema, ma non lo fa)

library(shiny) 
    college = read.csv("college.csv") 
+0

Sei sicuro che il tuo file csv si trovi nella directory dell'app? Prima di caricare l'app intendo. – rdatasculptor

+0

Sì, è nella cartella dell'app. Sono davvero perplesso sul motivo per cui non viene caricato sul server. – Kamal

+0

Non ho problemi a caricare file CSV in lucido. Potresti postare il tuo codice dove stai caricando il file csv? – Jonas

risposta

0

Si consiglia di inserire i dati in una cartella, ad esempio ~/<application name>/data e quindi chiamare i dati dal proprio server.R trattando la directory dell'applicazione (/<application name>/) come directory di lavoro corrente.

ad es. Risparmio i miei file come oggetti RDS in ~/ImputationApp/data/ e poi li leggo con:

foo.rds <- readRDS("data/foo.rds") 

Anche se ciò che si descrive dovrebbe correre, fare doppio controllare i filepaths per i file di dati che si sta tentando di caricare qualsiasi randagi setwd() comandi e che potrebbero fare i lavori. Un passo falso comune è quello di inserire il percorso completo dei dati sul dispositivo nel dispositivo server.R.

+0

@Kamal ha risolto il problema o ha ancora problemi? – mlegge

0

Attualmente mi trovavo di fronte a un problema simile. Leggendo qua e là, mi sono reso conto che è possibile creare uno script chiamato global.R nella stessa dir con ui.R e server.R. Su questo file (global.R) è possibile caricare le librerie e, in questo caso, gli oggetti precedentemente salvati su una directory, ad esempio chiamata dati. Ho creato l'oggetto e lo ho salvato con saveRDS(df, "./data/df.RDS"). Poi caricato dal dir dati con qualcosa come

df <- readRDS("data/df.RDS") 

sul global.R che funziona per me.