When converting a factor into numeric vector via the pipe %>% operator, I have wrongly assumed that
myfactor %>% as.character %>% as.numeric
would give the same result as
myfactor %>% as.numeric(as.character(.))
c(0,1,2) %>% as.factor %>% as.character %>% as.numeric ## returns 0,1,2
c(0,1,2) %>% as.numeric(as.character(as.factor(.))) ## returns 0,1,2
c(0,1,2) %>% as.factor %>% as.numeric(as.character(.)) ## returns 1,2,3 (unexpected)
myfun <- function(x) as.numeric(as.character(x))
c(0,1,2) %>% as.factor %>% myfun ## returns 0,1,2
Could someone kindly explain the discrepant results? Thank you!