measurements :: conv_unit()返回预期数字的字符向量

时间:2018-01-03 14:10:49

标签: r

基于this question和相关,我使用测量:: conv_unit()将Degree:Min:Sec坐标转换为十进制。
然而,虽然正确的价值',我的回报是一个字符向量,而不是数字,因为应该根据我在其他地方看到的所有。 我的输入是每?measurements::conv_unit : "Coordinate: Values must be entered as a string with one space between subunits (e.g. 70° 33’ 11” = "70 33 11")."

的字符

示例:

df <- c("1 1 1", "-1 1 1", "2 2 2","-2 2 2")  

measurements::conv_unit(df, from = 'deg_min_sec', to = 'dec_deg')
[1] "1.01694444444444"  "-1.01694444444444" "2.03388888888889"  "-2.03388888888889"

转换为数字(通过as.numeric())当然是一个简单的解决方案,但我认为首先不应该这样做。 无论我将df定义为c(),data.frame()还是tibble(),并且即使在干净(重新启动)的R会话中运行以上,结果也是一样的。 测量版本1.1.0,仅在今天安装。

我做错了什么或者发生了什么事?

1 个答案:

答案 0 :(得分:0)

这是根据conv_unit

的源代码
if (to == "dec_deg") inter = as.character(lapply(secs, function(y) y/3600))