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