Laat dataframe kolommen op naam vallen

Ik heb een aantal kolommen die ik wil verwijderen uit een dataframe. Ik weet dat we ze individueel kunnen verwijderen met iets als:

df$x <- NULL

Maar ik hoopte dit met minder commando's te kunnen doen.

Ook weet ik dat ik kolommen kan laten vallen met behulp van integer indexering zoals deze:

df <- df[ -c(1, 3:6, 12) ]

Maar ik ben bezorgd dat de relatieve positie van mijn variabelen kan veranderen.

Gezien hoe krachtig R is, dacht ik dat er misschien een betere manier is dan elke kolom één voor één te laten vallen.

Oplossing

U kunt een eenvoudige lijst met namen gebruiken :


DF 
Commentaren (6)

Er is ook het subset commando, handig als je weet welke kolommen je wilt:


df 
Commentaren (10)

Je zou %in% als volgt kunnen gebruiken:

df[, !(colnames(df) %in% c("x","bar","foo"))]
Commentaren (3)