HOWTO · R
在 R 中刪除多列
本教程演示如何刪除 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