R語言數據去重


R語言常用的去重命令有unique duplicated

 

unique主要是返回一個把重復元素或行給刪除的向量、數據框或數組

> x <- c(3:5, 11:8, 8 + 0:5)
> x
 [1]  3  4  5 11 10  9  8  8  9 10 11 12 13
> unique(x)
[1]  3  4  5 11 10  9  8 12 13
> unique(x, fromLast = TRUE)
[1]  3  4  5  8  9 10 11 12 13    #排序后的

> a
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    1    2    4
[3,]    1    3    5
[4,]    1    2    3

> unique(a)
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    1    2    4
[3,]    1    3    5   #去除重復的最后一行

 

duplicated主要是判定向量或數據框中的元素是否重復,它返回一個元素(行)是不是重復的邏輯向量

> duplicated(a)
[1] FALSE FALSE FALSE  TRUE    # 返回一個是否重復的邏輯判斷

> a[!duplicated(a),]
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    1    2    4
[3,]    1    3    5                         #去除重復的最后一行

 

如果把第二列有重復的去除,則需要加一個索引

> index <- duplicated(a[,2])
> index
[1] FALSE  TRUE FALSE  TRUE
> a[!index,]
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    1    3    5       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM