大家好,我有一个数据框,其中有一列名为 the_geom_OBJECTID
,它表示阶乘变量。
the_geom_OBJECTID
<fct>
1 POINT (-73.8472005205491 40.89470517661004)
2 POINT (-73.82993910812405 40.87429419303015)
3 POINT (-73.82780644716419 40.88755567735082)
4 POINT (-73.90564259591689 40.895437426903875)
5 POINT (-73.91258546108577 40.89083449389134)
6 POINT (-73.90281798724611 40.88168737120525)
我想用两列替换此数据框的列,一列用于经度,另一列用于纬度
预期输出:
longitude latitude
<dbl> <dbl>
1 -73.8472005205491 40.89470517661004
2 -73.82993910812405 40.87429419303015
3 -73.82780644716419 40.88755567735082
4 -73.90564259591689 40.895437426903875
5 -73.91258546108577 40.89083449389134
6 -73.90281798724611 40.88168737120525
将变量转换为字符串格式然后创建两个新列会更好吗?
最佳答案
实现此目的的最简单方法是使用 sf::st_coordinates():
sf::st_coordinates(the_geom_OBJECTID)
更新:
首先将您的数据框转换为 sf 对象。
library(sf)
df <- data.frame(the_geom_OBJECTID = c("POINT (-73.8472005205491 40.89470517661004)",
"POINT (-73.82993910812405 40.87429419303015)",
"POINT (-73.82780644716419 40.88755567735082)",
"POINT (-73.90564259591689 40.895437426903875)",
"POINT (-73.91258546108577 40.89083449389134)",
"POINT (-73.90281798724611 40.88168737120525)"))
df_sf <- st_sf(st_as_sfc(df$the_geom_OBJECTID))
然后:
sf::st_coordinates(df_sf)
关于R:将一个因子或字符串变量分成两个新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58543324/