Selección de columnas en el marco de datos R basado en aquellas * no * en un vector
Estoy familiarizado con la posibilidad de extraer columnas de un marco de datos R (o matriz) así:
df.2 <- df[, c("name1", "name2", "name3")]
Pero, ¿se puede usar una!
u otra herramienta para seleccionartodas menos esas columnas enumeradas?
Para el fondo, tengo un marco de datos con bastantes vectores de columnas y me gustaría evitar:
Escribiendo la mayoría de los nombres cuando solo podía eliminar una minoríaUsando el mucho más cortodf.2 <- df[, c(1,3,5)]
porque cuando mi archivo .csv cambia, mi código se va al diablo porque la numeración ya no es la misma. Soy nuevo en R y creo que aprendí la manera difícil de no usar vectores numéricos para df más grandes que podrían cambiar.Lo intenté:
df.2 <- df[, !c("name1", "name2", "name3")]
df.2 <- df[, !=c("name1", "name2", "name3")]
Y justo cuando estaba escribiendo esto, descubrí que esto funciona:
df.2 <- df[, !names(df) %in% c("name1", "name2", "name3")]
¿Hay alguna forma mejor que esta última?