使用 dplyr 获取列的值

use dplyr to get values of a column

我想要 dplyr return 一个字符向量而不是数据框。有没有简单的方法来做到这一点?

#example data frame 
df <- data.frame( x=c('a','b','c','d','e','f','g','h'), 
                  y=c('a','a','b','b','c','c','d','d'),
                  z=c('a','a','a','a','a','a','d','d'),
                  stringsAsFactors = FALSE)


#desired output
unique(df$z)
[1] "a" "d"

#dplys's output
df %>% 
  select(z) %>%
  unique() 

z
1 a
7 d

尝试

library(dplyr)
df %>%
   select(z) %>%
   unique() %>% 
   .$z
#[1] "a" "d"

或使用magrittr

library(magrittr)
df %>%
  select(z) %>%
  unique() %>%
  use_series(z)
#[1] "a" "d"