Манипулировать строками из данных, извлеченных из Интернета
Я пытаюсь очистить данные с веб-страницы, и у меня возникают проблемы при работе со строками. Если вы посетите страницу, вы поймете, что это веб-сайт, написанный на французском языке. Я пытаюсь получить данные в табличном формате внизу страницы. На французском языке тысячи разделителей либо .
или же spaces
, которые используются на веб-странице.
Вот мой код для удаления значений во втором столбце:
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
вектор в числовой вектор после удаления нежелательных символов?
1 ответ
Просто совет, вы должны использовать это:
gsub(pattern="\\s",replacement="",x=pop) or
gsub(pattern=".\\s",replacement="@",x=pop)
потому что пространство это особый характер.
Лучший,
Роберт