当试图解析一个html页面时,我们可以得到NA值。因此,当我们尝试使用列表中的数据构建数据框时,缺少值将无法实现。如何在解析html页面来替换数据框时替换NA值?
有什么简单的方法可以成功。请看下面的例子:
library(rvest)
library(RCurl)
library(XML)
pg <- getURL("https://agences.axa.fr/ile-de-france/paris/paris-19e-75019")
page = htmlTreeParse(pg,useInternal = TRUE,encoding="UTF-8")
unlist(xpathApply(page,'//b[@class="Name"]',xmlValue))
data.frame(noms = unlist(xpathApply(page,'//b[@class="Name"]',xmlValue)),
rue = unlist(xpathApply(page,'//span[@class="street-address"]',xmlValue)))
因为您使用'html_node'而不是'html_nodes'。此外,RCurl在这里是不必要的;你可以直接将URL传递给'read_html'。 – alistaire
谢谢@alistaire,我修改了我的问题,因为最初的一个很愚蠢。对于这个问题,我已经问过类似的问题:http://stackoverflow.com/questions/42588717/how-to-return-na-when-nothing-is-found-in-an-xpath,根据您对其他问题的回答,您可以成功找到解决方案。 –
更好的问题。但是,您应该显示加载XML,以获得可重复性。 – alistaire