gpt4 book ai didi

regex - 如何将度分秒转换为 R 中的十进制?

转载 作者:行者123 更新时间:2023-12-04 12:12:46 34 4
gpt4 key购买 nike

我有这个数据框:

Lat        Long
59 44 50 151 45 11
59 49 28 154 52 56
59 46 42 150 45 15

如何将其转换为十进制列?

纬度在 dd mm ss 中,长在 ddd mm ss 中

我在这里找到了类似的解决方案,但无法根据我的情况调整正则表达式。

Converting geo coordinates from degree to decimal

最佳答案

试试这个功能:

angle2dec <- function(angle) {
angle <- as.character(angle)
x <- do.call(rbind, strsplit(angle, split=' '))
x <- apply(x, 1L, function(y) {
y <- as.numeric(y)
y[1] + y[2]/60 + y[3]/3600
})
return(x)
}

然后您可以将其应用于数据框中的每一列:
new_df <- apply(df, 2L, angle2dec)
new_df
Lat Long
[1,] 59.74722 151.7531
[2,] 59.82444 154.8822
[3,] 59.77833 150.7542

要不就
df$Lat <- angle2dec(df$Lat)
df$Long <- angle2dec(df$Long)

关于regex - 如何将度分秒转换为 R 中的十进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30879429/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com