Как избавиться от определенных строк и чисел в нескольких строках с помощью gsub? - PullRequest
0 голосов
/ 24 мая 2019

Я пытаюсь избавиться от определенных строк и чисел в нескольких строках моего фрейма данных с помощью gsub ().

New Haven, CT (41.308252, -72924161)
MERIDEN, CT (41.537589, -72.8011)

И так далее.

Но я хочу получить только latitude (41.308252, 41.537589, etc.) и longitude (-72924161, -72.8011, etc.), а затем поместить их в отдельные фреймы данных.

Результат должен выглядеть следующим образом:

для широты

1. 41.308252
2. 41.537589

для долготы

1. -72924161
2. -72.8011

1 Ответ

0 голосов
/ 24 мая 2019

Мы можем попробовать использовать sub здесь, для базовой опции R:

df$lat <- sub(".*\\((-?\\d+(?:\\.\\d+)?).*", "\\1", col)
df$lng <- sub(".*\\([^,]+,\\s*(-?\\d+(?:\\.\\d+)?).*", "\\1", col)

Вот пример сценария, чтобы показать, что логика работает:

col <- "New Haven, CT (41.308252, -72924161)"
sub(".*\\((-?\\d+(?:\\.\\d+)?).*", "\\1", col)
sub(".*\\([^,]+,\\s*(-?\\d+(?:\\.\\d+)?).*", "\\1", col)

Это выводит:

[1] "41.308252"
[1] "-72924161"
...