在 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
相关文章
R 中具有多个条件的函数向量化
发布时间:2023/03/21 浏览次数:64 分类:编程语言
-
一项常见的数据分析任务是根据同一行的其他列使用一个或多个条件创建或更新数据框列。 如果我们尝试使用 if 语句来执行此操作,则只会使用第一行来测试条件,并且会根据该行更
在 R 中读取 xlsx 文件
发布时间:2023/03/21 浏览次数:66 分类:编程语言
-
在这篇文章中,你将会了解到两个在 R 中读取 xlsx 文件的最完整和最容易使用的库:readxl 和 openxlsx。