5
NAMES <- names(d)
과 같이 다른 객체를 참조하지 않고 단일 파이프 체인에서 colnames와 해당 값을 사용하여 cols를 선택하려고합니다. select_if()
으로 해결할 수 있습니까?dplyr :: select_if는 동시에 colnames와 해당 값을 사용할 수 있습니까?
예 :
필자는 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
오징어 44. 함수의 문제는'.predicate'의 함수가 칼럼에 적용되고 이런 방법으로 우리는 이름의 정보를 잃어버린다는 것입니다. – mt1022
또 다른 옵션은'd %> % select (일치하는 "Petal")이고, 이름은 (map (., mean)> 5))' – akrun