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