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 ? ? ??
轉載于:https://www.cnblogs.com/nkwy2012/p/8082330.html
總結
- 上一篇: 判断是否是微信浏览器
- 下一篇: 阿里云 centos ssh key 客