在purrr package中,主要有三個函數帶有“search”的意涵,接受atomic vector和list兩種資料結構,再針對裡面的element作處理。這三個函數分別為contains(), detect(), detect_index()
#注意,丟進去的是list還是vector #X為list x <- list(1:10, 5, 9.9) x %>% contains(1) [1] FALSE X %>% contains(1:10) [1] TRUE #Y為atomic vector Y <- c(1,2,3) Y %>% contains(1) [1] TRUE Y %>% contains(1:3) [1] FALSE #detect()和detect_index()兩者本質類似,都是使用predict function,只是一個回傳elements的值,一個回傳elements的位置,注意兩個都只會傳出“第一個”符合predict function的值! detect(20:40, function(x){ x > 22 && x %% 2 == 0 }) [1] 24 detect_index(20:40, function(x){ x > 22 && x %% 2 == 0 }) [1] 5