2016-04-14 5 views
1

私はthis particular webpageからいくつかの名前を取得するために、Rで書かれた次のコードを持っています。R readHTMLTable関数が動作しません

library(RCurl) 
library(XML) 
x <- getURL("http://www.encyclopedia-titanica.org/titanic-passengers-crew-lived/country-17/england.html") 
x_2 <- htmlParse(x) 
x_3 <- readHTMLTable(x_2) 

私はX_3の内容を見るたびしかし、私は次の取得...

x_3 
named list() 

readHTMLTable関数は、テーブルを得ることができないかのように思えます。このウェブページからコピーして貼り付けることなく乗客の名前を手に入れることができますか?とても有難い。

+0

readHTMLTable()を使用するには、まずtable要素を抽出する必要があります。 XPathを使用する - 'tableVar < - xpathApply(x_2、" // table [@ id = 'manifest'] ")'のようなもの。それでは、 'x_3 < - readHTMLTable(tableVar)' – WillardSolutions

+0

(私はファイアウォールに問題がありますので、ATMでこれをテストすることはできません) – WillardSolutions

答えて

0
library(rvest) 
library(dplyr) 

base <- "http://www.encyclopedia-titanica.org/titanic-passengers-crew-lived/country-17/england.html" 

# I use the older rvest package...`html` might be `read_html` now.Link to git repo below: 
# https://github.com/hadley/rvest/blob/7d65d84e013b1bb3827ae0a2e05ddaed4875c112/R/parse.R 
data_df <- (html(base) %>% html_table)[[1]] 

knitr::kable(summary(data_df)) 

    | | Name   | Age   | Class/Dept  | Ticket  | Joined  | Job   |Boat [Body]  |    | 
    |:--|:----------------|:----------------|:----------------|:----------------|:----------------|:----------------|:----------------|:------------| 
    | |Length:1190  |Length:1190  |Length:1190  |Length:1190  |Length:1190  |Length:1190  |Length:1190  |Mode:logical | 
    | |Class :character |Class :character |Class :character |Class :character |Class :character |Class :character |Class :character |NA's:1190 | 
    | |Mode :character |Mode :character |Mode :character |Mode :character |Mode :character |Mode :character |Mode :character |NA   | 
+0

ありがとうございます。うまく動作します! – ACE

+0

聞いてうれしい@ACE –