判断式可以用小括号来决定作用顺序。
另外此例可以用 %in% 方便正向选择特定的符合项目。
例如,
ir104 %>%
filter((year == "2015" & sex == "2" & areaname_new == "台闽地区") &
type %in% c(174, 180, 182))
或是
ir104 %>%
filter(year == "2015" & sex == "2" & areaname_new == "台闽地区") %>%
filter(type %in% c(174, 180, 182))
意思是一样的。
后者比较好阅读的样子。
※ 引述《paranoia5201 (社会黑暗、行路难)》之铭言:
: [问题类型]:
: 效能咨询:我会写出我要的东西,但是想让R跑得更快更精简
: [软件熟悉度]:
: 入门(写过其他程式,只是对语法不熟悉)
: [问题叙述]:
: 以下程式码是在筛选资料,但是除了type以外所有条件都相同;
: 需要如下列写法才能跑出我要的结果,是否有简化的写法?
: 以下是在library(tidyverse)环境下工作。
: [程式范例]:
: top202 <-
: ir104 %>%
: filter(year == "2015" &
: sex == "2" &
: areaname_new == "台闽地区" &
: type == 174
: |
: year == "2015" &
: sex == "2" &
: areaname_new == "台闽地区" &
: type == 180
: |
: year == "2015" &
: sex == "2" &
: areaname_new == "台闽地区" &
: type == 182
: |
: year == "2015" &
: sex == "2" &
: areaname_new == "台闽地区" &
: type == 183) %>%
: select(year, type, ADJ_R, TotalCase)
: [环境叙述]:
: Rstudio
: library(tidyverse)
: [关键字]:
: 无