将弧度转换为角度/将角度转换为弧度

54

R中是否有内置函数可以将弧度转换为角度或角度转换为弧度?

到目前为止,我编写了自己的函数:

rad2deg <- function(rad) {(rad * 180) / (pi)}
deg2rad <- function(deg) {(deg * pi) / (180)}

#test:
rad2deg(pi) #180
rad2deg(2*pi) #360
deg2rad(180) #pi

2
安装软件包("sos", dependencies = TRUE); 载入(sos); 查找函数("角度转弧度"). - user3710546
非常有用!谢谢@Pascal - Iris
5
多年过去了,我对于 R 仍然没有内置函数能够在度和弧度之间转换感到有些惊讶!难道我们必须要安装扩展支持这个功能吗?此时此刻,为了达到我所需求的结果,我更愿意采用 OP 的解决方案。 - Antony
3个回答

13
你可以使用units软件包来完成这个任务。
library(units)
pi_rad <- as_units(pi, "radians")
pi_deg <- set_units(pi_rad, "degrees")
set_units(pi_deg, "radians")

12

Pascal的评论非常有用,我发现了几个例子,例如:

install.packages("NISTunits", dependencies = TRUE)
library(NISTunits)

NISTdegTOradian(180)
NISTradianTOdeg(pi)

-1
如果你有一个 data.frame,它可能会帮助你。
在我的情况下,davis_2$wd 是以度为单位的列。
#Add column to Data Base
davis_2$radian_wd = davis_2$wd

#Create a loop to change the data, and change the 62'th col to Radians
for(i in 1:nrow(davis_2)){
    davis_2[i, 62] = (davis_2[i, 62]*pi)/180
}
# Review
head(davis_2$radian_wd)

2
不需要编写循环:davis_2$radian_wd <- (davis_2$radian_wd*pi)/180 就足够了。 - Iris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接