在 R 中删除多列
可以从 R 中的数据框中同时删除多个列。本教程演示如何在 R 中删除多个列。
在 R 中删除多列
有两种方法可以从 R 中的数据框中删除多个列。这些方法如下所示。
使用 Base R 删除多列
我们可以通过将 Null
值分配给列来从 R 中的数据框中删除多个列。使用 Base R 删除 R 中的多个列的语法是:
DataFrame[ , c('column1', 'column2',………..,'column_n)] <- list(NULL)
其中 DataFrame
是给定的数据框,在 list
中,我们将列设为 Null
。让我们尝试一个例子:
#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
上面的代码将删除作为参数给出的列。见输出:
[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
我们还可以使用此方法使用要删除的列范围,该范围可以用:
运算符显示,我们可以将其作为参数而不是列名传递。参见示例:
#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
上面的代码将具有与上面的示例类似的输出。删除后查看结果:
[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
使用 R 中的 dplyr
包删除多列
我们还可以使用 dplyr
包从数据框中删除多个列。我们可以使用 select()
方法提取列。
我们还可以使用 one_of
方法创建一个新的数据框,其中包含从给定数据框中删除的列。
此方法的语法是:
dataframe_new <- data frame %>% select(- one_of(columns to be removed))
首先,安装并加载 dplyr
包,然后我们可以使用上述方法从数据框中删除多个列。参见示例:
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
上面的代码将从前一个数据框中创建一个新的数据框,其中包含已删除的列。见输出:
[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 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