Манипулировать строками из данных, извлеченных из Интернета

Я пытаюсь очистить данные с веб-страницы, и у меня возникают проблемы при работе со строками. Если вы посетите страницу, вы поймете, что это веб-сайт, написанный на французском языке. Я пытаюсь получить данные в табличном формате внизу страницы. На французском языке тысячи разделителей либо . или же 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)

потому что пространство это особый характер.

Лучший,

Роберт

Другие вопросы по тегам