You can convert a column to a different class with the as. functions, including:
as.numeric(): Convert to numerics
Especially useful when a column of numbers is set to characters
as.character(): Convert to string/character
as.factor(): Convert to factors
First we’ll use the function forcats::fct_recode() to recode the factor levels of predation, exposure, and danger from 1-5 to least likely-most likely.
Glimpse original numbered factors.
#Original numbers factorsmammal_sleep_tbl |>#Select columns of interest dplyr::select(species,predation:danger) |> dplyr::glimpse()
#New string factors tibblemammal_sleep_fct_indexes_tbl <- mammal_sleep_tbl |>#Select columns of interest dplyr::select(species,predation:danger) |>#Mutate predation to convert indexes from number to character values#Demonstrates factor recoding on one column dplyr::mutate(predation=forcats::fct_recode( predation, "least likely"="1","unlikely"="2","neither"="3","likely"="4","most likely"="5") ) |>#Mutate exposure and danger to convert indexes from number to character values#Demonstrates the same factor recoding on multiple columns dplyr::mutate( dplyr::across( exposure:danger,~ forcats::fct_recode(.x,"least likely"="1","unlikely"="2","neither"="3","likely"="4","most likely"="5") ) )#Glimpse created tibblemammal_sleep_fct_indexes_tbl |> dplyr::glimpse()
Rows: 62
Columns: 4
$ species <chr> "Africanelephant", "Africangiantpouchedrat", "ArcticFox", "A…
$ predation <fct> neither, neither, least likely, most likely, neither, likely…
$ exposure <fct> most likely, least likely, least likely, unlikely, most like…
$ danger <fct> neither, neither, least likely, neither, likely, likely, lea…
Convert the predationfactor column to strings and convert the exposurefactor columns to numerics.
mammal_sleep_fct_indexes_tbl |>#Mutate factors to strings and to numerics dplyr::mutate(exposure=as.character(exposure), danger=as.numeric(danger))
# A tibble: 62 × 4
species predation exposure danger
<chr> <fct> <chr> <dbl>
1 Africanelephant neither most likely 1
2 Africangiantpouchedrat neither least likely 1
3 ArcticFox least likely least likely 2
4 Arcticgroundsquirrel most likely unlikely 1
5 Asianelephant neither most likely 3
6 Baboon likely likely 3
7 Bigbrownbat least likely least likely 2
8 Braziliantapir likely most likely 3
9 Cat least likely unlikely 2
10 Chimpanzee least likely least likely 2
# ℹ 52 more rows
Convert the columns gestation:exposure from factors to characters.
mammal_sleep_fct_indexes_tbl |>#Mutate factors to strings and to numerics dplyr::mutate( dplyr::across(predation:danger, as.character) )
# A tibble: 62 × 4
species predation exposure danger
<chr> <chr> <chr> <chr>
1 Africanelephant neither most likely neither
2 Africangiantpouchedrat neither least likely neither
3 ArcticFox least likely least likely least likely
4 Arcticgroundsquirrel most likely unlikely neither
5 Asianelephant neither most likely likely
6 Baboon likely likely likely
7 Bigbrownbat least likely least likely least likely
8 Braziliantapir likely most likely likely
9 Cat least likely unlikely least likely
10 Chimpanzee least likely least likely least likely
# ℹ 52 more rows