Ich versuche, die Tabelle von dieser Website zu lesen.Nur einige Spalten lesen, wenn readHTMLTable verwendet wird, um Tabellen von einer Website abzurufen
http://www.databaseolympics.com/games/gamessport.htm?g=1&sp=ATH
Das Problem ist, ich will nur die erste Spalte (Ereignis) und die letzte Spalte (Medaille) gelesen werden. Dies ist mein Code und Ergebnis:
temp_URL<-'http://www.databaseolympics.com/games/gamessport.htm?g=1&sp=ATH'
tab<-readHTMLTable(temp_URL, which=3,colClasses = c('factor',NULL,NULL,NULL,'factor'))
head(tab)
Event Athlete Country Result Medal
1 100m Men Tom Burke USA 12.0 GOLD
2 Fritz Hofmann DEU 12.2 est. SILVER
3 Francis Lane USA 12.6 BRONZE
4 Alajos Szokolyi HUN 12.6 est. BRONZE
5 400m Men Tom Burke USA 54.2 GOLD
6 Herbert Jamison USA n/a SILVER
Wie Sie sehen es alle Spalten der Tabelle zurückgibt. Ich habe in der R-Dokumentation gelesen, dass die Verwendung von colClasses und die Angabe eines Null-Wertes dazu führen sollte, dass R diese Spalte ignoriert, aber es funktioniert nicht für mich. Ich weiß, wenn Sie die Daten in R haben es sehr einfach ist, einfach einen neuen Datenrahmen mit den gewünschten Spalten zu erstellen:
tab<-data.frame(tab$Event,tab$Medal)
head(tab)
tab.Event tab.Medal
1 100m Men GOLD
2 SILVER
3 BRONZE
4 BRONZE
5 400m Men GOLD
6 SILVER
Ich mochte wirklich diesen zusätzlichen Schritt zu vermeiden und eine Art und Weise, in der nur die gewünschten finden Daten kommen in R, der Grund dafür ist, dass diese Seite ein Teil eines Codes ist, der Tausende von Seiten lesen muss, und dieser zusätzliche Schritt könnte zeitaufwendig sein, wenn er mehrere Male ausgeführt wird.
Es worked.Thanks – Lee