Преобразовать радианы в градусы / градусы в радианы

Существуют ли в R встроенные функции для преобразования радианов в градусы и градусы в радианы?

До сих пор я написал свои собственные функции:

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

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

person Iris    schedule 03.09.2015    source источник
comment
Очень полезно! Спасибо @Pascal   -  person Iris    schedule 03.09.2015
comment
Я немного удивлен, что после всех этих лет в R нет встроенной функции для преобразования между градусами и радианами! Должны ли мы устанавливать расширение для его поддержки? На данный момент я бы предпочел принять решение OP, чтобы достичь того, что мне нужно.   -  person Antony    schedule 20.09.2017


Ответы (3)


Комментарий Паскаля был очень полезен, и я нашел несколько, например.

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

NISTdegTOradian(180)
NISTradianTOdeg(pi)
person Iris    schedule 03.09.2015

Для этого можно использовать пакет units.

library(units)
pi_rad <- as_units(pi, "radians")
pi_deg <- set_units(pi_rad, "degrees")
set_units(pi_deg, "radians")
person jsta    schedule 03.10.2018

Если у вас есть 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)
person Edwin Torres    schedule 12.06.2016
comment
Цикл писать не нужно: достаточно davis_2$radian_wd <- (davis_2$radian_wd*pi)/180 - person Iris; 12.06.2016