Eliminar varias columnas en R

Sheeraz Gul 18 agosto 2022
Eliminar varias columnas en R

Se pueden eliminar varias columnas simultáneamente de un marco de datos en R. Este tutorial demuestra cómo eliminar varias columnas en R.

Eliminar varias columnas en R

Hay dos métodos para eliminar varias columnas de un marco de datos en R. Estos métodos se muestran a continuación.

Eliminar varias columnas usando la base R

Podemos eliminar varias columnas del marco de datos en R asignando valores Nulos a las columnas. La sintaxis para eliminar varias columnas en R usando Base R es:

DataFrame[ , c('column1', 'column2',………..,'column_n)] <- list(NULL)

Donde DataFrame es el marco de datos dado y en la lista, hacemos las columnas Null. Probemos un ejemplo:

#create a data frame
Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))

#View the data frame before deleting the columns
print('The DataFrame Before Deletion:')
Delftstack

#delete columns Name and LastName from a data frame
Delftstack[ , c('Name', 'LastName')] <- list(NULL)

#view data frame after deleting the columns
print('The DataFrame After Deletion:')
Delftstack

El código anterior eliminará las columnas dadas como argumentos. Ver salida:

[1] "The DataFrame Before Deletion:"
      Name LastName  Id     Designation
1     Jack  Danials 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler 103      Senior Dev
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro 105          Intern

[1] "The DataFrame After Deletion:"
   Id     Designation
1 101             CEO
2 102 Project Manager
3 103      Senior Dev
4 104      Junior Dev
5 105          Intern

También podemos usar un rango de columnas para eliminar con este método, el rango se puede mostrar con el operador : y podemos pasarlo como un parámetro en lugar de los nombres de las columnas. Ver ejemplo:

#create a data frame
Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))

#View the data frame before deleting the columns
print('The DataFrame Before Deletion:')
Delftstack

#delete columns Name and LastName from data frame
Delftstack[, 1:2] <- list(NULL)

#view data frame after deleting the columns
print('The DataFrame After Deletion:')
Delftstack

El código anterior tendrá un resultado similar al del ejemplo anterior. Ver el resultado después de la eliminación:

[1] "The DataFrame After Deletion:"
   Id     Designation
1 101             CEO
2 102 Project Manager
3 103      Senior Dev
4 104      Junior Dev
5 105          Intern

Eliminar columnas múltiples usando el paquete dplyr en R

También podemos usar el paquete dplyr para eliminar varias columnas de un marco de datos. Podemos extraer las columnas usando el método select().

También podemos usar el método one_of para crear un nuevo marco de datos con las columnas eliminadas del marco de datos dado.

La sintaxis de este método es:

dataframe_new <- data frame %>% select(- one_of(columns to be removed))

Primero, instale y cargue el paquete dplyr, y luego podemos usar el método anterior para eliminar varias columnas de un marco de datos. Ver ejemplo:

install.packages("dplyr")
library("dplyr")

#create a data frame
Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))

#View the data frame before deleting the columns
print('The DataFrame Before Deletion:')
Delftstack

# Columns to be removed
RemoveColumns <- c("Name", "LastName")

#delete columns Name and LastName from a data frame
DelftstackNew <- Delftstack %>% select(- one_of(RemoveColumns))

#view data frame after deleting the columns
print('The DataFrame After Deletion:')
DelftstackNew

El código anterior creará un nuevo marco de datos a partir del anterior con las columnas eliminadas. Ver salida:

[1] "The DataFrame Before Deletion:"
      Name LastName  Id     Designation
1     Jack  Danials 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler 103      Senior Dev
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro 105          Intern

[1] "The DataFrame After Deletion:"
   Id     Designation
1 101             CEO
2 102 Project Manager
3 103      Senior Dev
4 104      Junior Dev
5 105          Intern
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - R Column

Artículo relacionado - R Data Frame