0

皆様、

オーストラリアの人口/居住地のラスター レイヤーを探しています。オンラインでいくつかの無料のデータセットを見つけようとしましたが、実際に有用な形式のものを見つけることができませんでした. ウィキペディアから人口データをスクレイピングして、独自のラスター レイヤーを作成するのは面白いのではないかと思いました。この目的のために、wiki から情報を取得しようとしましたが、html について何も知らなかったことが役に立ちませんでした。

アイデアは、wiki ページを持つオーストラリアのすべての町のリストを提供し、適切なデータを data.frame に抽出することです。

Web ページのソース データを R に取り込むことはできますが、必要な特定のデータを抽出する方法に行き詰まっています。以下のコードは、私がどこで立ち往生しているかを示しています。助けがあれば本当に感謝するか、正しい方向へのヒントが得られます。

readHTMLTable() を使用できるかもしれないと思ったのは、通常の Web ページでは、必要な情報が適切な表の右にずれているためです。しかし、この関数を使用するとエラーが発生します (以下)。ソース情報を取得するときにこのテーブルを指定する方法はありますか?

この質問があまり意味をなさない場合は申し訳ありませんが、HTML ファイルの検索に関して自分が何をしているのかわかりません。

ご協力いただきありがとうございます。

乾杯、アダム

    require(RJSONIO)
    loc.names <- data.frame(town = c('Sale', 'Bendigo'), state = c('Victoria', 'Victoria'))
    u <- paste('http://en.wikipedia.org/wiki/',
         sep = '', loc.names[,1], ',_', loc.names[,2])
    res <- lapply(u, function(x) htmlParse(x))

readHTMLTable 使用時のエラー:

    tabs <- readHTMLTable(res[1])
    Error in (function (classes, fdef, mtable)  : 
    unable to find an inherited method for function ‘readHTMLTable’ for signature ‘"list"’

たとえば、必要なデータの一部は、html で次のようになります。私の質問は、私が持っている HTML のものでこれらの場所を指定するにはどうすればよいですか?

/ <span class="geo">-38.100; 147.067

title="Victoria (Australia)">Victoria</a>. It has a population (2011) of 13,186
4

1 に答える 1