Andmeraami veergude eemaldamine nime järgi

Mul on mitu veergu, mida ma tahaksin andmeraamist eemaldada. Ma tean, et me saame neid ükshaaval kustutada, kasutades midagi sellist:

df$x <- NULL

Kuid ma lootsin, et saan seda teha vähemate käskudega.

Samuti tean, et ma võiksin veerud välja jätta, kasutades täisarvulist indekseerimist niimoodi:

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

Kuid ma olen mures, et minu muutujate suhteline asukoht võib muutuda.

Arvestades, kui võimas on R, mõtlesin, et võib olla parem viis, kui iga veeru ükshaaval maha jätta.

Lahendus

Võite kasutada lihtsat nimede nimekirja :


DF 
Kommentaarid (6)

Samuti on olemas käsk subset, mis on kasulik, kui te teate, milliseid veerge soovite:


df 
Kommentaarid (10)

Sa võid kasutada %in% niimoodi:

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