Re: [問題] 求優化後之精簡寫法

作者: andrew43 (討厭有好心推文後刪文者)   2018-01-05 18:06:37
判斷式可以用小括號來決定作用順序。
另外此例可以用 %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)
: [關鍵字]:
: 無
作者: paranoia5201 (邁向研究生)   2018-01-05 22:17:00
哇~原來可以這樣寫,獲益良多!大感謝。

Links booklink

Contact Us: admin [ a t ] ucptt.com