1. 程式人生 > >R語言數據去重

R語言數據去重

一行 [1] ted clas 常用 重復元素 blog true from

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

R語言數據去重