angle-methods | R Documentation |
We implemented methods for several base generics for the angle()
vectors.
## S3 method for class 'angle'
as.double(x, unit = angular_unit(x), ...)
## S3 method for class 'angle'
as.complex(x, modulus = 1, ...)
## S3 method for class 'angle'
format(x, unit = angular_unit(x), ..., use_unicode = is_utf8_output())
## S3 method for class 'angle'
print(x, unit = angular_unit(x), ..., use_unicode = is_utf8_output())
## S3 method for class 'angle'
abs(x)
x |
|
unit |
A string of the desired angular unit. Supports the following strings
(note we ignore any punctuation and space characters as well as any trailing
|
... |
Passed to |
modulus |
Numeric vector representing the complex numbers' modulus |
use_unicode |
If |
Mathematical Ops (in particular +
and -
)
for two angle vectors will (if necessary)
set the second vector's angular_unit()
to match the first.
as.numeric()
takes a unit
argument which can be used to convert angles into other angular units
e.g. angle(x, "degrees") |> as.numeric("radians")
to cast a numeric vector x
from degrees to radians.
abs()
will calculate the angle modulo full turns.
Use is_congruent()
to test if two angles are congruent instead of ==
or all.equal()
.
Not all implemented methods are documented here and since angle()
is a
numeric()
class many other S3 generics
besides the explicitly implemented ones should also work with it.
Typical values as usually returned by these base generics.
# Two "congruent" angles
a1 <- angle(180, "degrees")
a2 <- angle(pi, "radians")
print(a1)
print(a1, unit = "radians")
print(a1, unit = "pi-radians")
cos(a1)
sin(a1)
tan(a1)
# mathematical operations will coerce second `angle()` object to
# same `angular_unit()` as the first one
a1 + a2
a1 - a2
as.numeric(a1)
as.numeric(a1, "radians")
as.numeric(a1, "turns")
# Use `is_congruent()` to check if two angles are "congruent"
a1 == a2
isTRUE(all.equal(a1, a2))
is_congruent(a1, a2)
is_congruent(a1, a2, mod_turns = FALSE)
a3 <- angle(-180, "degrees") # Only congruent modulus full turns
a1 == a3
isTRUE(all.equal(a1, a2))
is_congruent(a1, a3)
is_congruent(a1, a3, mod_turns = FALSE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.