Pobierz pliki .RData i .csv z FTP za pomocą RCurl (lub dowolnej innej metody)

Przesłałem plik .RData (utworzony przy użyciusave()) do serwera ftp i próbuję użyć getURL () do pobrania tego samego pliku. Dla wszystkich przykładów i postów, które przeczytałem, nie wydaje mi się, żeby to działało.

Plik .RData został zapisany przy użyciu:

save(results, file=RDataFilePath, compress="xz") #save object "results" w/ compression
#RDataFilePath is the location of the results.RData file on my harddrive

Dane te zostały przesłane przy użyciu:

uploadURL <-"ftp://name:password@host/folder/results.RData" #name the url
ftpUpload(RDataFilePath, to=uploadURL, connecttimeout=120) #upload

W ten sposób próbuję pobrać wyniki.RData używającgetURL:

downloadURL <- "host/folder/results.RData"
load(getURL(downloadURL, userpwd="name:password", connecttimeout=120))

co daje następujący błąd:

Error in curlPerform(curl = curl, .opts = opts, .encoding = .encoding) : 
  embedded nul in string: 'ý7zXZ'

Kiedy wklejamdownloadURL ciąg do mojej przeglądarki, plik .RData jest pobierany natychmiast, więc wiem, że nie ma literówki. Komunikat o błędzie sugeruje, że adres URL nie może zostać odczytany b / c formatowania kompresji; jednak podczas używania otrzymuję podobny komunikat o błędziesave() bez kompresji.

Pojawia się również komunikat o błędzie podczas próby pobrania pliku .csv z FTP:

read.csv(getURL(downloadURL1)) #downloadURL1 is similar to downloadURL, but points to the .csv file
Error in file(file, "rt") : cannot open the connection 

a następnie ostrzeżenie, które stwierdzaIn addition: Warning message: In file(file, "rt") : cannot open file a następnie rozpoczyna wyświetlanie zawartości pliku .csv.

Próbowałem to rozgryźć przez większą część poranka i czuję, że muszę przegapić coś naprawdę podstawowego. Zgaduję, że muszę zmienić jakąś opcję curl, aby wiedział, jaki typ pliku będzie czytał. Moja składnia jest prawdopodobnie nieco wyłączona i nie używam getURL poprawnie, ale nie jestem pewien, co powinienem robić.

Wszelkie wskazówki będą bardzo mile widziane.

p.s. Moje obecne podejście opiera się na tymSłupek

questionAnswers(2)

yourAnswerToTheQuestion