it-swarm.com.de

dplyr: Wählen Sie alle Variablen außer den im Vektor enthaltenen aus

Dies sollte ein einfaches Problem sein, aber ich habe Schwierigkeiten.

Ich habe einen Vektor von Variablennamen, die ich aus einem Datenrahmen ausschließen möchte:

df <- data.frame(matrix(rexp(50), nrow = 10, ncol = 5))
names(df) <- paste0(rep("variable_", 5), 1:5)

excluded_vars <- c("variable_1", "variable_3")

Ich hätte gedacht, dass das Ausschließen des Objekts in der select-Anweisung mit - funktioniert hätte:

select(df, -excluded_vars)

Ich erhalte jedoch den folgenden Fehler:

Fehler in -exclud_vars: ungültiges Argument für unären Operator

dasselbe gilt, wenn select_() verwendet wird.

Irgendwelche Ideen?

3
Shinobi_Atobe

Sie müssen die one_of-Funktion verwenden:

select(df, -one_of(excluded_vars))

Weitere Informationen zum Auswählen anhand von Variablennamen finden Sie in der dplyr-Dokumentation unter select helpers .

6
C. Braun

Mit select_ können Sie einfach setdiff verwenden.

select_(df, .dots = setdiff(colnames(df), excluded_vars))
0
erocoar