【发布时间】:2019-02-21 14:07:24
【问题描述】:
我有一个包含地理位置的数据框。位置是字符串。 这是我抓取字符串并通过 Degress.Decimal 获取位置的函数。
示例位置 23º 30.0'N
latitud.decimal <- function(y) {
latregex <- str_match(y,"(\\d+)º\\s(\\d*.\\d*).(.)")
latitud <- (as.numeric(latregex[1,2])) +((as.numeric(latregex[1,3])) / 60)
if (latregex[1,4]=="S") {latitud <- -1*latitud}
return(latitud)
}
结果> 23.5
然后我想在我的原始数据框中创建一个新列,将函数应用于纬度列中的每个项目。 经度也是同样的问题。另一个新专栏
我知道如何使用 Python 和 Pandas 购买我是新手 y R 并且找不到解决方案。
我正在尝试
lapply(datos$Latitude, 2 , FUN= latitud.decimal(y))
但不要读取每个列值的 y“参数”。
【问题讨论】:
-
试试
sapply(datos$Latitude, latitud.decimal) -
您的函数看起来非常接近矢量化。如果您发布一些示例数据(向量中的一些值),我们可以帮助完成向量化,这意味着您只需执行
latitude.decimal(datos$Latitude)。
标签: r