我在一个名为坐标的列中有这些数据。
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