• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言中duplicated函数:去重复,取重复

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、创建测试数据

> test <- c(1,2,3,1,1,2,5) ##创建向量测试数据
> test
[1] 1 2 3 1 1 2 5
> duplicated(test)   ## 基本用法,返回逻辑值,非重复为F,重复为T
[1] FALSE FALSE FALSE TRUE TRUE TRUE FALSE
>

 

2、对向量去重复、取重复

> test[!duplicated(test)] ##对向量test取唯一值,去重复
[1] 1 2 3 5
> test[duplicated(test)]  ##取向量test中的重复值
[1] 1 1 2

 

 

3、duplicated在数据框中的操作  参考 :https://blog.csdn.net/xxzhangx/article/details/52369174

> test <- data.frame(x1 = c(1,2,3,4,5,1,3,5),x2 = c("a","b","c","d","e","a","b","e"), x3 = c("a","b","c","d","e","a","c","e"))  ##创建测试数据
> test
  x1 x2 x3
1  1  a  a
2  2  b  b
3  3  c  c
4  4  d  d
5  5  e  e
6  1  a  a
7  3  b  c
8  5  e  e
> duplicated(test)  ## 可以对数据框直接返回逻辑值,以行为单位
[1] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE
> test[duplicated(test),]  ## 提取重复行
  x1 x2 x3
6  1  a  a
8  5  e  e
> test[!duplicated(test),]  ## 提取唯一行
  x1 x2 x3
1  1  a  a
2  2  b  b
3  3  c  c
4  4  d  d
5  5  e  e
7  3  b  c
> duplicated(test[,c(2:3)])   ## 仅利用2、3列返回重复逻辑值
[1] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE  TRUE
> test[duplicated(test[,c(2:3)]),]  ## 利用2、3列中的重复逻辑值返回重复行
  x1 x2 x3
6  1  a  a
8  5  e  e
> test[!duplicated(test[,c(2:3)]),] ## 利用2、3列中的重复逻辑值返回非重复行
  x1 x2 x3
1  1  a  a
2  2  b  b
3  3  c  c
4  4  d  d
5  5  e  e
7  3  b  c
> duplicated(test$x1)  ## 利用单列返回重复逻辑值 
[1] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE
> test[duplicated(test$x1),] ##利用单列返回重复逻辑值取重复行
  x1 x2 x3
6  1  a  a
7  3  b  c
8  5  e  e
> test[!duplicated(test$x1),]  ## 取非重复行
  x1 x2 x3
1  1  a  a
2  2  b  b
3  3  c  c
4  4  d  d
5  5  e  e

 

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言相关数据集发布时间:2022-07-18
下一篇:
R再也不用愁变量太多跑回归太麻烦!R语言循环常用方法总结发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap