library("broadcast")
# matrix example ====
x <- matrix(sample(-1:28), ncol = 5)
colnames(x) <- month.name[1:5]
rownames(x) <- month.abb[1:6]
names(x) <- c(letters[1:20], LETTERS[1:10])
print(x)
#> January February March April May
#> Jan 0 16 28 24 9
#> Feb 2 25 13 10 11
#> Mar 15 3 18 17 7
#> Apr 21 12 4 6 22
#> May 1 5 -1 14 26
#> Jun 27 19 8 20 23
#> attr(,"names")
#> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
#> [20] "t" "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
as_bool(x)
#> January February March April May
#> Jan FALSE TRUE TRUE TRUE TRUE
#> Feb TRUE TRUE TRUE TRUE TRUE
#> Mar TRUE TRUE TRUE TRUE TRUE
#> Apr TRUE TRUE TRUE TRUE TRUE
#> May TRUE TRUE TRUE TRUE TRUE
#> Jun TRUE TRUE TRUE TRUE TRUE
#> attr(,"names")
#> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
#> [20] "t" "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
as_int(x)
#> January February March April May
#> Jan 0 16 28 24 9
#> Feb 2 25 13 10 11
#> Mar 15 3 18 17 7
#> Apr 21 12 4 6 22
#> May 1 5 -1 14 26
#> Jun 27 19 8 20 23
#> attr(,"names")
#> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
#> [20] "t" "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
as_dbl(x)
#> January February March April May
#> Jan 0 16 28 24 9
#> Feb 2 25 13 10 11
#> Mar 15 3 18 17 7
#> Apr 21 12 4 6 22
#> May 1 5 -1 14 26
#> Jun 27 19 8 20 23
#> attr(,"names")
#> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
#> [20] "t" "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
as_chr(x)
#> January February March April May
#> Jan "0" "16" "28" "24" "9"
#> Feb "2" "25" "13" "10" "11"
#> Mar "15" "3" "18" "17" "7"
#> Apr "21" "12" "4" "6" "22"
#> May "1" "5" "-1" "14" "26"
#> Jun "27" "19" "8" "20" "23"
#> attr(,"names")
#> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
#> [20] "t" "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
as_cplx(x)
#> January February March April May
#> Jan 0+0i 16+0i 28+0i 24+0i 9+0i
#> Feb 2+0i 25+0i 13+0i 10+0i 11+0i
#> Mar 15+0i 3+0i 18+0i 17+0i 7+0i
#> Apr 21+0i 12+0i 4+0i 6+0i 22+0i
#> May 1+0i 5+0i -1+0i 14+0i 26+0i
#> Jun 27+0i 19+0i 8+0i 20+0i 23+0i
#> attr(,"names")
#> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
#> [20] "t" "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
as_raw(x)
#> January February March April May
#> Jan 00 10 1c 18 09
#> Feb 02 19 0d 0a 0b
#> Mar 0f 03 12 11 07
#> Apr 15 0c 04 06 16
#> May 01 05 00 0e 1a
#> Jun 1b 13 08 14 17
#> attr(,"names")
#> [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s"
#> [20] "t" "A" "B" "C" "D" "E" "F" "G" "H" "I" "J"
################################################################################
# factor example ====
x <- factor(month.abb, levels = month.abb)
names(x) <- month.name
print(x)
#> January February March April May June July August
#> Jan Feb Mar Apr May Jun Jul Aug
#> September October November December
#> Sep Oct Nov Dec
#> Levels: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
as_bool(as_int(x) > 6)
#> January February March April May June July August
#> FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
#> September October November December
#> TRUE TRUE TRUE TRUE
as_int(x)
#> January February March April May June July August
#> 1 2 3 4 5 6 7 8
#> September October November December
#> 9 10 11 12
as_dbl(x)
#> January February March April May June July August
#> 1 2 3 4 5 6 7 8
#> September October November December
#> 9 10 11 12
as_chr(x)
#> January February March April May June July August
#> "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug"
#> September October November December
#> "Sep" "Oct" "Nov" "Dec"
as_cplx(x)
#> January February March April May June July August
#> 1+0i 2+0i 3+0i 4+0i 5+0i 6+0i 7+0i 8+0i
#> September October November December
#> 9+0i 10+0i 11+0i 12+0i
as_raw(x)
#> January February March April May June July August
#> 01 02 03 04 05 06 07 08
#> September October November December
#> 09 0a 0b 0ctypecast
Atomic and List Type Casting With Names and Dimensions Preserved
Description
Type casting usually strips away attributes of objects.
The functions provided here preserve dim, dimnames, names, comment, and broadcaster attributes, which may be more convenient for arrays and array-like objects.
The functions are as follows:
-
as_bool(): converts object to atomic typelogical(TRUE, FALSE, NA). -
as_int(): converts object to atomic typeinteger. -
as_dbl(): converts object to atomic typedouble(AKA numeric). -
as_cplx(): converts object to atomic typecomplex. -
as_chr(): converts object to atomic typecharacter. -
as_raw(): converts object to atomic typeraw. -
as_list(): converts object to recursive typelist.
as_num() is an alias for as_dbl().
as_str() is an alias for as_chr().
See also typeof.
Usage
as_bool(x, ...)
as_int(x, ...)
as_dbl(x, ...)
as_num(x, ...)
as_chr(x, ...)
as_str(x, ...)
as_cplx(x, ...)
as_raw(x, ...)
as_list(x, ...)
Arguments
x
|
an R object. |
β¦
|
further arguments passed to or from other methods. |
Value
The converted object.