Datu rāmja kolonnu nomešana pēc nosaukuma

Man ir vairākas kolonnas, kuras vēlos noņemt no datu rāmja. Es zinu, ka tos var dzēst atsevišķi, izmantojot kaut ko līdzīgu:

df$x <- NULL

Bet es cerēju to izdarīt ar mazāk komandām.

Es arī zinu, ka es varētu izlaist kolonnas, izmantojot veselu skaitļu indeksēšanu, piemēram, šādā veidā:

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

Bet mani uztrauc tas, ka mainīgo relatīvā pozīcija var mainīties.

Ņemot vērā, cik jaudīgs ir R, es domāju, ka varētu būt labāks veids, nekā izlaist katru kolonnu pa vienai.

Risinājums

Varat izmantot vienkāršu nosaukumu sarakstu :


DF 
Komentāri (6)

Ir arī komanda subset, kas noder, ja zināt, kuras kolonnas vēlaties:


df 
Komentāri (10)

Jūs varat izmantot %in% šādā veidā:

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