Dear R-users,

The new package hablar help R-users to convert columns to new data types. 
Also helps with summary functions like min and mean with vectors that contain 
NA, Inf, NaN or when they are empty.

Three functions you may consider to use:
  
install.packages("hablar")
library(hablar)


1. convert()

mtcars %>%
  convert(num(vs),
          int(am, gear),
          chr(cyl:drat))

this simple code chunk converts column 'vs' to numeric, 
'am' and 'gear' to integer and 'cyl' through 'drat' to character.


2. retype()

mtcars <- mtcars %>%
  convert(chr(everything()))

mtcars %>% retype()

This function is for us lazy R-programmers. It converts columns 
to the simplest data type possible, without loosing information.

3. s()

min(c()) # base R returns Inf
min(s(c())) # with s it returns NA

max(c(NaN, Inf)) # base R returns NaN
max(s(c(NaN, Inf))) # with s it returns NA

mean(c(NA, 2, 4, NA)) # base R returns NA
mean(c(NA, 2, 4, NA), na.rm = TRUE) # base R with na.rm = T returns 3
mean(s(c(NA, 2, 4, NA))) # with s it returns 3 without using na.rm = TRUE
mean_(c(NA, 2, 4, NA)) # s-wrapper mean_  returns 3

s always returns a real value, otherwise NA. This helps you
avoid the problem of getting Inf when trying to minimize 
empty or vectors with infinite or NaN values. You can also skip na.rm = T
to simplify code syntax.


More information on hablar:
https://cran.r-project.org/web/packages/hablar/readme/README.html
https://github.com/davidsjoberg/hablar
https://davidsjoberg.github.io/blog/
  
Happy coding!
David

_______________________________________________
R-packages mailing list
r-packa...@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-packages

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to