R语言除重

[复制链接]
51data 发表于 2020-9-21 17:03:21 | 显示全部楼层 |阅读模式
R语言中剔除重复数据的方法,类似与sql 的distinct。可以用duplicated()函数或者unique()函数。
区别:unique()函数用法对整表或者指定列除重,而duplicated可以对指标列除重且结果中保留其他列
例:
> col1<-c(1,2,3,4,5,6,1,2,3,4,5,6)
> col2<-c('a','b','c','a','b','c','a','b','c','a','b','c')
> col3<-c('A','B','A','B','A','B','A','B','A','B','A','B')
> f1<-data.frame(col1,col2,col3)
> f2<-f1[!duplicated(f1),]  #对数据帧f1除重,等同于 unique(f1)

f1

f1
      

f2

f2


> f3<-f1[!duplicated(f1[,3]),] #按数据帧f1的第3列除重,其余列展示首次出现的值,等同于
      

f3

f3


> f4<-f1[!duplicated(f1[,3],fromLast = TRUE),] #按数据帧f1的第3列除重,其余列展示最后1次出现的值
      

f4

f4


> f5<-f1[!duplicated(f1[,c(2:3)]),] #按数据帧f1的第2、3列除重,其余列展示首次出现的值
      

f5

f5


duplicated函数为识别重复数据,详细说明见http://www.idata8.com/portal.php?mod=view&aid=52


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

51data

管理员

  • 主题20
  • 帖子20
  • 积分194
发布新帖 立即签到

最新主题

主题排行

快速回复 返回顶部 返回列表