(Публикация комментариев в вики сообщества).
Это не вполне эквивалент - unlist(select(.))
сохраняет (возможно, нежелательные) имена.
dd <- data.frame(Col1=c("abc","def"))
str(unlist(select(dd,Col1)))
## Factor w/ 2 levels "abc","def": 1 2
## - attr(*, "names")= chr [1:2] "Col11" "Col12"
str(dd$Col1)
## Factor w/ 2 levels "abc","def": 1 2
Ваш инструктор, вероятно, просто фанат tidyverse (@RichScriven); pull(Dat, Col1)
или (для крайней "аккуратности") Dat %>% pull(Col1)
будет более идиоматичным (@Henrik). Dat$Col1
или Dat[["Col1"]]
будут эквивалентами base-R (первый более удобен для интерактивного использования, последний несколько безопаснее для целей программирования, поскольку не будет выполнять завершение имени).
Вряд ли это имеет значение, но подходы к приливу намного медленнее.
microbenchmark(dd$Col1,dd[["Col1"]],pull(dd,Col1),unlist(select(dd,Col1)))
Unit: microseconds
expr min lq mean median uq
dd$Col1 5.296 10.9630 14.86871 13.4040 17.160
dd[["Col1"]] 7.870 9.6535 15.18874 11.8270 16.635
pull(dd, Col1) 44.160 108.7625 128.89342 117.8415 136.890
unlist(select(dd, Col1)) 601.480 1132.8240 1436.44178 1214.4420 1378.141
max neval cld
31.036 100 a
88.842 100 a
422.462 100 a
8796.964 100 b