Ich möchte cols mit colnames und ihre Werte in einer einzelnen Pipe-Kette ohne Verweis auf andere Objekte, wie NAMES <- names(d)
auswählen. Kann ich es mit select_if()
tun?dplyr :: select_if kann colnames und ihre Werte gleichzeitig verwenden?
Zum Beispiel
kann ich COLNAMES verwenden cols auszuwählen.
(select(matches(...))
ist schlauer Umgang nur Colnamen).
library(dplyr)
d <- iris %>% select(-Species) %>% tibble::as.tibble()
d %>% select_if(stringr::str_detect(names(.), "Petal"))
Und ich kann die Werte verwenden.
d %>% select_if(~ mean(.) > 5)
Aber wie Sie beide verwenden? (vor allem OR)
Unter Code ist was ich will (natürlich nicht laufen).
d %>% select_if(stringr::str_detect(names(.), "Petal") | ~ mean(.) > 5)
Jede Hilfe würde sehr geschätzt werden.
Vielen Dank für Ihre Antwort! Ich kämpfte um Lambda-Funktionen, aber es ist nicht notwendig. – cuttlefish44
@ Tintenfisch44, sicher. Das Problem der Funktionen besteht darin, dass die Funktion in '.predicate' auf Spalten angewendet wird und dadurch die Informationen von Namen verloren gehen. – mt1022
Eine andere Option ist 'd%>% select (entspricht (" Petal "), Namen (welche (map (., Mean)> 5))) – akrun