5
NAMES <- names(d)
のように、他のオブジェクトを参照することなく、単一のパイプチェーンでcolnamesとその値を使用してcolsを選択したいとします。 select_if()
でこれを行うことはできますか?例えばdplyr :: select_ifは同時にcolnamesとその値を使用できますか?
、
私はCOLSを選択するために、COLNAMESを使用することができます。
(select(matches(...))
は、コロン名のみを処理するスマートです)。
library(dplyr)
d <- iris %>% select(-Species) %>% tibble::as.tibble()
d %>% select_if(stringr::str_detect(names(.), "Petal"))
私は値を使用できます。
d %>% select_if(~ mean(.) > 5)
どのように両方を使用するのですか? (特にOR)
以下のコードは私が望むものです(もちろん、実行しないでください)。
d %>% select_if(stringr::str_detect(names(.), "Petal") | ~ mean(.) > 5)
ご協力いただければ幸いです。あまりにも複雑ではありません
ありがとう!私はラムダ関数に唖然としていたが、それは必要ではない。 – cuttlefish44
@ cuttlefish44、確かに。関数の問題は '.predicate'の関数が列に適用され、このようにして名前の情報が失われることです。 – mt1022
もう一つのオプションは 'd%>%select(" Petal "にマッチする)、名前(map(。、mean)> 5)))' – akrun