Para eliminar una o más columnas por nombre, cuando se conocen los nombres de las columnas (en lugar de determinarse en tiempo de ejecución), me gusta la subset()
sintaxis. Por ejemplo, para el marco de datos
df <- data.frame(a=1:3, d=2:4, c=3:5, b=4:6)
para eliminar solo la a
columna que podrías hacer
Data <- subset( Data, select = -a )
y para eliminar las columnas b
y d
que podrías hacer
Data <- subset( Data, select = -c(d, b ) )
Puede eliminar todas las columnas entre d
y b
con:
Data <- subset( Data, select = -c( d : b )
Como dije anteriormente, esta sintaxis solo funciona cuando se conocen los nombres de las columnas. No funcionará cuando digamos que los nombres de columna se determinan mediante programación (es decir, asignados a una variable). Reproduciré esta Advertencia de la ?subset
documentación:
Advertencia:
Esta es una función de conveniencia diseñada para su uso interactivo. Para la programación es mejor usar las funciones de subconjunto estándar como '[', y en particular la evaluación no estándar del argumento 'subconjunto' puede tener consecuencias imprevistas.