2017-02-17 2 views
0

Совершенно новый для R, поэтому я постараюсь изо всех сил объяснить это. Я играл с очисткой данных, используя пакет «rvest». В этом примере я соскабливаю население США из таблицы в Википедии. Код я использовал:Как превратить выход rvest в таблицу

library(rvest) 
statepop = read_html("https://en.wikipedia.org/wiki/List_of_U.S._states_and_territories_by_population") 
forecasthtml = html_nodes(statepop, "td") 
forecasttext = html_text(forecasthtml) 
forecasttext 

Результирующий выходной сигнал следующим образом:

[2] "7000100000000000000♠1"           
[3] " California"             
[4] "39,250,017"             
[5] "37,254,503"             
[6] "7001530000000000000♠53"          
[7] "738,581"              
[8] "702,905"              
[9] "12.15%"              
[10] "7000200000000000000♠2"           
[11] "7000200000000000000♠2"           
[12] " Texas"              
[13] "27,862,596"             
[14] "25,146,105"             
[15] "7001360000000000000♠36"          
[16] "763,031"              
[17] "698,487"              
[18] "8.62%" 

Как я могу превратить эти строки текста в таблицу, которая настроена аналогично тому, как это представлено на оригинальная страница Википедии (с колонками, строками и т. д.)?

+1

использовать 'html_table()' вместо 'html_text()' – Nate

ответ

2

Попробуйте использовать функцию html_table rvest.
Обратите внимание, что на странице пять таблиц, поэтому вам нужно указать, какую таблицу вы хотите проанализировать.

library(rvest) 

statepop = read_html("https://en.wikipedia.org/wiki/List_of_U.S._states_and_territories_by_population") 
#find all of the tables on the page 
tables<-html_nodes(statepop, "table") 
#convert the first table into a dataframe 
table1<-html_table(tables[1]) 
Смежные вопросы