मैं NAMES <- names(d)
जैसे अन्य ऑब्जेक्ट्स को संदर्भित किए बिना एक ही पाइप श्रृंखला में उपनामों और उनके मानों का उपयोग करके कोल्स का चयन करना चाहता हूं। क्या मैं इसे select_if()
के साथ कर सकता हूं?dplyr :: select_if एक ही समय में उपनाम और उनके मूल्यों का उपयोग कर सकता है?
उदाहरण के लिए,
मैं कॉलम का चयन करने के 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)
किसी भी मदद की सराहना की जाएगी।
अपने जवाब के लिए धन्यवाद! मैं लैम्ब्डा कार्यों के लिए strugging था, लेकिन यह आवश्यक नहीं है। – cuttlefish44
@ कटलफिश 44, निश्चित रूप से। कार्यों की समस्या यह है कि '.predicate' में कार्य कॉलम पर लागू होता है और इस तरह से हम नामों की जानकारी खो देते हैं। – mt1022
एक और विकल्प 'd%>% चयन (मिलान (" पेटल "), नाम (जो (नक्शा (।, माध्य)> 5))) – akrun