Slipp datarammekolonner etter navn

Jeg har et antall kolonner som jeg ønsker å fjerne fra en dataramme. Jeg vet at vi kan slette dem individuelt ved å bruke noe sånt som:

df$x <- NULL

Men jeg håpet å gjøre dette med færre kommandoer.

Jeg vet også at jeg kunne slippe kolonner ved hjelp av heltallsindeksering som dette:

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

Men jeg er bekymret for at den relative posisjonen til variablene mine kan endres.

Gitt hvor kraftig R er, tenkte jeg at det kan være en bedre måte enn å slippe hver kolonne en etter en.

Løsning

Du kan bruke en enkel navneliste:


DF 
Kommentarer (6)

Det er også kommandoen subset, som er nyttig hvis du vet hvilke kolonner du vil ha:


df 
Kommentarer (10)

Du kan bruke "% i %" på denne måten:

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