G'day Everyone,從網站提取人口數據;維基小鎮網頁
我正在尋找澳大利亞人口/居住的柵格圖層。我曾嘗試在網上找到一些免費的數據集,但無法找到有用的合作伙伴。我認爲這可能是有趣的嘗試和刮從維基百科的人口數據,並建立自己的柵格圖層。爲此,我嘗試從wiki獲取信息,但不知道有關html的任何內容對我沒有幫助。
這個想法是提供澳大利亞所有有維基頁面的城鎮的列表,並將適當的數據提取到data.frame中。
我可以將網頁源數據導入到R中,但我堅持如何提取我想要的特定數據。下面的代碼顯示我卡在哪裏,任何幫助將真正讚賞或一些提示在正確的方向。
我想我可能會使用readHTMLTable(),因爲在正常的網頁中,我想要的信息是在一張漂亮的表格中向右。但是當我使用這個函數時,我得到一個錯誤(下面)。當我獲得源信息時,有什麼方法可以指定此表嗎?
對不起,如果這個問題沒有多大意義,我不知道我在做什麼,當談到搜索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
res是一個列表。要訪問其元素使用'[['' – jdharrison