2017-11-10 3 views
1

Ich habe Probleme mit der Funktion read.table. Ich möchte eine Tabelle von einer URL lesen und sie in R als einen Datenrahmen behalten. Die URL ist: https://datanalytics.com/uploads/datos_treemap.txtLesen Sie eine Tabelle von einer URL und behalten Sie es als Datenrahmen

ich diesen Code geschrieben haben:

library(RCurl) 

a <- getURL('https://datanalytics.com/uploads/datos_treemap.txt') 
b = read.table(a, sep="\t ", header = TRUE, nrows=3) 

download.file("https://datanalytics.com/uploads/datos_treemap.txt","/mnt/M/Ana/R/datos_treemap.txt",method = c("wget")) 

Aber ich kann die Daten als Datenrahmen nicht halten, und es ergibt sich folgende Fehler:

Error in file(file, "rt") : cannot open the connection 
In addition: Warning message: 
In file(file, "rt") : cannot open file... 
No such file or directory 

Ich habe auch versucht, das Dokument als txt herunterzuladen und es in mi PC zu behalten. Das Ergebnis txt erzeugt jedoch einen Vektor anstelle einer Tabelle (alle Ergebnisse befinden sich in einer Zeile). Der Code, den ich geschrieben habe, ist:

download.file("https://datanalytics.com/uploads/datos_treemap.txt","/mnt/M/Ana/R/datos_treemap.txt",method = c("wget")) 

Jeder weiß, was ich falsch mache? Danke im Voraus.

Antwort

1

die dieses

library(RCurl) 
a <- getURL('https://datanalytics.com/uploads/datos_treemap.txt') 
b <- read.table(text=a, header = TRUE) 


this helps Lassen Sie versuchen!

+0

Es funktioniert gut, vielen Dank! –

+0

Froh, dass es geholfen hat! – Prem

1

Hier eine andere Lösung mit rvest anstelle von RCurl. Ich will nicht beurteilen, welches Paket "besser" ist, wollte nur eine zusätzliche Option zeigen, obwohl in Ihrem einfachen Fall rvest ausführlicher zu sein scheint und Sie SelectorGadget benötigen, um den gewünschten Knoten zu identifizieren (bitte korrigieren Sie mich, wenn ich bin falsch und der Code kann verkürzt werden).

library(rvest) 

table <- read_html("https://datanalytics.com/uploads/datos_treemap.txt") %>% 
     html_text("p") %>% 
     { read.table(text = ., header = T) } 
Verwandte Themen