First, it makes to see what class
each function creates.
library(dplyr)
mtcars %>% pull(cyl) %>% class()
#> 'numeric'
mtcars %>% select(cyl) %>% class()
#> 'data.frame'
So pull()
creates a vector -- which, in this case, is numeric
-- whereas select()
creates a data frame.
Basically, pull()
is the equivalent to writing mtcars$cyl
or mtcars[, "cyl"]
, whereas select()
removes all of the columns except for cyl
but maintains the data frame structure
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…