Frage

Ich mag eine binäre Datei lesen - von unbestimmter Länge -. Direkt von einer URL in R. readBin Verwendung von einer URL zu lesen, ohne die Dateigröße Angabe nicht funktioniert

 anImage <- readBin('http://user2010.org/pics/useR-large.png','raw')

Gibt es einen anderen Ansatz, der dies ermöglichen würde?

War es hilfreich?

Lösung

Dadurch wird die Datei in das Arbeitsverzeichnis herunterladen, aber nicht direkt in den Speicher.

download.file('http://user2010.org/pics/useR-large.png', 'anImage.png')

Das Rcurl Paket kann auch das tun, was Sie wollen. (Link nicht wegen SO Einschränkungen veröffentlicht)

Andere Tipps

Eine einfache Lösung, wenn auf ‚n‘ ziemlich groß sein, lesen Sie die Datei, die Prüfung für einen möglichen Überlauf, und versuchen Sie es erneut, wenn nötig.

N <- 1e7
repeat
{
   anImage <- readBin(filename, 'raw', n=N)
   if(length(anImage) == N) N <- 5 * N else break
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top