如果我这样做
data %>% filter(primary.name == "Down syndrome" | other.names == "Down syndrome")
我得到了整行数据。但是,如果我只想要其中一个单元格中的数据(即带有“dx”标题的单元格)呢?
我试过了:
data$dx %>% filter(primary.name == "Down syndrome" | other.names == "Down syndrome")
但是得到这个错误:
Error in UseMethod("filter_") :
no applicable method for 'filter_' applied to an object of class "factor"
答案 0 :(得分:3)
我们可以在 pull
步骤之后 filter
列
library(dplyr)
data %>%
filter(primary.name == "Down syndrome" | other.names == "Down syndrome") %>%
pull(dx)
或者另一个选项是 summarise
(现在可以返回多行)
data %>%
summarise(dx = dx[primary.name == "Down syndrome" |
other.names == "Down syndrome"]) %>%
pull(dx)
不过,理解代码最好使用filter
如果我们使用
data$dx %>%
...
rhs
的 %>%
只获取该列的值,无法访问数据集中的 'primary.name' 或 'other.names' 列