R代码将一列中的坐标分为纬度和经度两列



我在一个名为坐标的列中有这些数据。

coordinates                                                                           
<chr>                                                                         
35.9289842120708,-0.37401629584697;35.9295981311974,-0.370106682789026

我想把它分为两列,纵向和纵向,这样我的最终输出看起来像这个

lat<-c(35.92898,35.92960)
lon<-c(-0.3740163,-0.3701067)
final<-data.frame(lat,lon)


这行吗:

library(dplyr)
library(tidyr)
library(stringr)
df %>% transmute(id = row_number(), lat = str_extract_all(coordinates, '\d{2}\.\d+'), lon = str_extract_all(coordinates,'-\d\.\d+')) %>% unnest(cols = everything())
# A tibble: 2 x 3
id lat              lon               
<int> <chr>            <chr>             
1     1 35.9289842120708 -0.37401629584697 
2     1 35.9295981311974 -0.370106682789026

使用的数据:

df
coordinates
1 35.9289842120708,-0.37401629584697;35.9295981311974,-0.370106682789026

最新更新