我正在尝试从webpage中删除数据,但我无法操纵字符串。如果您访问the page,您会发现这是一个用法语写的网站。我试图以页面底部的表格格式获取数据。在法语中,千位分隔符为.
或spaces
,用于the webpage。
以下是废弃第二列中值的代码:
library(rvest)
link <- read_html("http://perspective.usherbrooke.ca/bilan/servlet/BMTendanceStatPays?langue=fr&codePays=NOR&codeTheme=1&codeStat=SP.POP.TOTL")
link %>%
html_nodes(".tableauBarreDroite") %>%
html_text() -> pop
head(pop)
[1] "3Â 581Â 239" "3Â 609Â 800" "3Â 638Â 918" "3Â 666Â 537" "3Â 694Â 339" "3Â 723Â 168"
pop
向量中的值包含具有意外spaces
的预期Â
。我尝试了以下操作来移除spaces
:
new.pop <- gsub(pattern = " ", replacement = "", x = pop)
head(new.pop)
[1] "3Â 581Â 239" "3Â 609Â 800" "3Â 638Â 918" "3Â 666Â 537" "3Â 694Â 339" "3Â 723Â 168"
spaces
变量中仍然存在new.pop
。我还试图删除标签:
new.pop <- gsub(pattern = "\n", replacement = "", x = pop)
head(new.pop)
[1] "3Â 581Â 239" "3Â 609Â 800" "3Â 638Â 918" "3Â 666Â 537" "3Â 694Â 339" "3Â 723Â 168"
正如您所看到的,spaces
并没有消失。在删除不需要的字符后,您是否知道如何将pop
向量转换为数字向量?
答案 0 :(得分:1)
只是提示,你应该使用它:
gsub(pattern="\\s",replacement="",x=pop) or
gsub(pattern=".\\s",replacement="@",x=pop)
因为空间是一个特殊的角色。
最好,
罗伯特