您將學習如何使用以下R base和dplyr函數:
1)R基礎函數
duplicated() :用於標識重復的元素和
unique() :用於提取唯壹元素,
2)distinct() [dplyr package]刪除數據框中的重復行。
必需的包
演示數據集
查找並刪除重復元素
提取獨特元素
刪除數據框中的重復行
總結
需要的包
示例數據集
我們將使用R內置的iris數據集,首先將其轉換為tibble數據幀(tbl_df),以便於進行數據分析。
查找並刪除重復的元素
R函數? duplicate()? 返回壹個邏輯向量,其中TRUE指定向量或數據幀的哪些元素是重復的。
創建如下向量:
要查找x中重復元素的位置,請使用以下命令:
## [1] FALSE? TRUE FALSE FALSE? TRUE FALSE
提取重復元素:
## [1] 1 4
如果您想刪除重復的元素,請使用 ? !duplicate() ,!意思是邏輯否定:
## [1] 1 4 5 6
按照這種方法,可以根據列值從數據框中刪除重復的行,如下所示
提取非重復的元素
## [1] 1 4 5 6
也可以在數據框上應用unique(),以刪除重復的行,如下所示:
刪除數據幀中的重復行
distinct() [dplyr包]函數可用於僅保留數據幀中的唯壹/不同行。如果有重復的行,則只保留第壹行。它是R基函數unique()的變形。
基於所有列,刪除重復行
基於某些列(變量),刪除重復的行:
參數 .kep_all用於保存數據中的所有變量。
在本章中,我們描述了識別和刪除重復數據的重要函數:
基於壹個或多個列值刪除重復行:my_data%>%dplyr::distinct(Sepal.Length)
從向量和數據框中提取唯壹元素的R基函數:unique(my_data)
確定重復元素的R基函數:duplicate(my_data)