2014-10-11 11 views
7

Moja aplikacja działa dobrze lokalnie i jestem w stanie pomyślnie wdrożyć moją aplikację na serwerze shinyapps.io, ale pojawia się następujący komunikat o błędzie, gdy próbuję załadować aplikację w przeglądarce przy użyciu shinyapps URL: "nie znaleziono obiektu danych błędu". Myślę, że dzieje się tak dlatego, że zmienna "dane" odczytuje z pliku csv w moim katalogu lokalnym.Czy istnieje sposób mogę przesłać ten plik csv na serwer shinyapps? Próbowałem już to sprawdzić, ale nie znalazłem nic.Przesyłanie pliku CSV do shinyApps.io

Oto kod używam do czytania w plikach. dostaję plik z tego samego katalogu roboczego jako mojego server.R i ui.R. Dzięki

server.R

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

ui.R (dodałem do tego, czy to rozwiązuje problem, ale nie)

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

Czy jesteś pewien, że plik csv znajduje się w katalogu aplikacji? Przed wysłaniem aplikacji mam na myśli. – rdatasculptor

+0

Tak, jest w folderze aplikacji. Naprawdę jestem zakłopotany, dlaczego nie przesyła na serwer. – Kamal

+0

Nie mam problemu z załadowaniem pliku CSV w kolorze błyszczącym. Czy mógłbyś opublikować swój kod, w którym ładujesz plik CSV? – Jonas

Odpowiedz

0

Najlepszą praktyką byłoby umieszczenie danych w folderze, na przykład ~/<application name>/data, a następnie wywołanie swoich danych z katalogu server.R traktującego katalog aplikacji (/<application name>/) jako bieżący katalog roboczy.

np. Mogę zapisać plików jako obiekty RDS ~/ImputationApp/data/ a następnie odczytać je z:

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

Mimo to, czego opisać należy uruchomić dwukrotnie sprawdzić filepaths dla plików danych, które próbujesz załadować i wszelkich bezpańskich setwd() poleceń, które mogłyby grzebiąc w pracy. Częstym błędem jest umieszczenie pełnej ścieżki do twoich danych na twoim komputerze w twoim server.R.

+0

@Kamal rozwiązał problem lub nadal masz problemy? – mlegge

0

Obecnie miałem podobne kłopoty. Czytanie tu i tam, zdałem sobie sprawę, że można utworzyć skrypt o nazwie global.R w tym samym katalogu z ui.R i server.R. W tym pliku (global.R) można wczytać biblioteki i, w tym przypadku, obiekty wcześniej zapisane w katalogu, na przykład nazywane danymi. Utworzono obiekt i zapisałem go za pomocą saveRDS(df, "./data/df.RDS"). Następnie załadowano go z katalogu danych z czymś jak

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

na global.R który pracuje dla mnie.