R语言之 删除重复数据

2023-11-15

这篇主要介绍如何在R中识别和删除重复数据。

主要用的到R base和dplyr函数:

duplicated():用于识别重复的元素和
unique():用于提取唯一元素,
distinct()[dplyr package]删除数据框中的重复行。

x <- c(1, 1, 2,4, 5, 4, 6)
duplicated(x)
## [1] FALSE  TRUE FALSE FALSE FALSE  TRUE FALSE
x[duplicated(x)]
## [1] 1 4
x[!duplicated(x)]
## 1, 1 2,4, 5, 6

#data.frame中 删除某一列含有重复值的整行数据,用dplyr::filter,如D3,其中id_student列有重复值
D3<- filter(D3,!duplicated(D3$id_student))
#或者
D3<- D3 %>% distinct(id_student,.keep_all = TRUE)
  • 根据某一列删除数据框中重复值
# Remove duplicates based on Sepal.Width columns
my_data[!duplicated(my_data$Sepal.Width), ]
## # A tibble: 23 x 5
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
##          <dbl>       <dbl>        <dbl>       <dbl> <fct>  
## 1          5.1         3.5          1.4         0.2 setosa 
## 2          4.9         3            1.4         0.2 setosa 
## 3          4.7         3.2          1.3         0.2 setosa 
## 4          4.6         3.1          1.5         0.2 setosa 
## 5          5           3.6          1.4         0.2 setosa 
## 6          5.4         3.9          1.7         0.4 setosa 
## # ... with 17 more rows
  • 使用dplyr包删除数据框中的重复行
    函数distinct()[dplyr package]可用于仅保留数据帧中的唯一行。 如果存在重复行,则仅保留第一行。 它是R base函数unique()的高效版本。
根据所有列删除重复的行(完全一样的观测值):
my_data %>% distinct()
根据特定列删除重复值
my_data %>% distinct(Sepal.Length, .keep_all = TRUE)
根据多列删除重复值
my_data %>% distinct(Sepal.Length, Petal.Width, .keep_all = TRUE)
选项.kep_all用于保留数据中的所有变量。

总结

  • 根据一个或多个列值删除重复行:my_data%>%dplyr :: distinct(Sepal.Length)
  • R base函数从向量和数据帧中提取唯一元素:unique(my_data)
  • R基函数确定重复元素:duplicated(my_data)



作者:左手柳叶刀右手小鼠标
链接:https://www.jianshu.com/p/994f2d1a3002
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R语言之 删除重复数据 的相关文章

  • 制作独特数组的最快方法是什么?

    我有以下情况 我有一大堆随机字符串 应尽快使该数组变得唯一 现在通过一些基准测试我发现 ruby 的 uniq 相当慢 require digest require benchmark make a nice random array of
  • 子图有相同的节点,如何使其唯一

    我通过 perl 脚本创建点文件 这是包含相同节点的子图 例如 subgraph aa gt bb gt cc subgraph dd gt bb gt ee 我知道这些子图使用相同的命名空间 所以我的结果输出很混乱 在每个子图中 我可以使
  • SQLite 外部查询返回内部查询中找不到的结果

    我只是想知道是否有人遇到过 SQLite 3 7 4 中的情况 其中查询将返回一组结果 而当它成为子查询时 结果完全不同 我在更复杂的查询中发现了问题 但这里有一个更简单的示例 演示了相同的行为 数据库设置 CREATE TABLE tes
  • Hive 中特定列的区别

    我正在运行 Hive 071 我有一个表 有多行 具有相同的列值 x y 1 2 1 3 1 4 2 2 3 2 3 1 我想让 x 列唯一 并删除具有相同 x 值的行 x y 1 2 2 2 3 2 or x y 1 4 2 2 3 1
  • SQL Server 选择不同的最新值

    我有一个包含大量行 gt 10K 的表 大多数行都有重复role与相关的值username 我想做的是按不同和最新选择行role添加者请求ID 我几乎已经拥有了 但是让我感到不安的部分是null某些值请求ID字段 因为这些请求是在添加该列之
  • 计算 DISTINCT 值的出现次数

    我试图找到一个 MySQL 查询 该查询将在特定字段中查找不同的值 计算该值出现的次数 然后按计数对结果进行排序 示例数据库 id name 1 Mark 2 Mike 3 Paul 4 Mike 5 Mike 6 John 7 Mark
  • 导轨 计数 选择不同的

    我正在记录用户观看一系列视频的次数 现在我正在尝试制作一个图表 显示每天观看任何视频的用户数量 UserVideoWatching where created at gt AND user id 1 month ago User eleph
  • Oracle 约束具有三列,但只有一行可以等于某个值

    这听起来可能很简单 也可能很简单 我有 3 列 一列带有常量字符串 名称 一列 状态 带有两个选项 外键 另一列 room id 是另一个表的父键 如何确保只设置一行相同名称的 ON 值 不能有多个具有相同名称的 ON 值的行 但可以有多个
  • Javascript数组排序和唯一性

    我有一个像这样的 JavaScript 数组 var myData 237 124 255 124 366 255 我需要数组元素是唯一的并且已排序 myData 0 124 myData 1 237 myData 2 255 myData
  • 编程错误:在 django 中同时使用 order_by 和 unique 时

    我有一个如下所示的模型 class ProductScore models Model client models ForeignKey User created models DateTimeField default datetime
  • 在 Linux 上获取机器 ID 的最佳方法?

    获取唯一机器 ID 的最佳实践方法是什么GNU Linux for i386建筑学 除了这个还有什么好的办法吗mac地址 根据您的内核 DMI 信息可能可以通过 sysfs 获得 尝试一下 cat sys class dmi id boar
  • 根据 Django 数据库中的某个字段获取不同的行

    我需要在 Django 中构建一个查询 我想知道这是否可能 它可能非常明显 但我错过了 我有一个正常的查询Model objects filter x True 5 它可以返回这样的结果 FirstName LastName Country
  • 如何返回不同的值及其计数?

    我想做的 希望 很简单 但我只是不太掌握正确的语法 我想返回表中的所有不同值 并计算每个值的记录数 所以 在 PHP 中 我有 result mysql query SELECT DISTINCT tagName FROM tagTable
  • 如何查找 MASSIVE 数组中哪些项出现多次?

    这是一个非常简单的问题 哪些项目在列表中出现多次 array mike mike mike john john peter clark 正确答案是 mike john 看来我们只能这样做 array select e ary count e
  • 如何将 LINQ Distinct() 与多个字段一起使用

    我有以下内容EF class从数据库导出 简化 class Product public string ProductId public string ProductName public string CategoryId public
  • MySQL:选择 DISTINCT / UNIQUE,但返回所有列?

    SELECT DISTINCT field1 field2 field3 FROM table 我正在尝试完成以下 SQL 语句 但我希望它返回所有列 这可能吗 像这样的东西 SELECT DISTINCT field1 FROM tabl
  • 如果您编辑/更新该特定对象,laravel 唯一名称表示已被占用

    我有一个投资组合表 我没有在 url 中显示投资组合的 id 而是使用 getRouteKeyName 显示投资组合的名称 所以我希望该名称是唯一的 否则如果它已经存在 它可能会显示错误的投资组合 我将名称字段的规则设置为唯一 如果我现在编
  • postgresql 登录到另一个表时发生冲突

    我正在使用 PostgreSQL 9 5 并尝试使用批量插入每天插入数百万行 INSERT INTO tours as cst adults country id price VALUES 3 129 80 2 119 120 on con
  • 在同一查询中选择 Count of ip 和 Count of DISTINCT ip

    我有一个这样的表结构 TABLE NAME counter id datetime url ip 1 2013 04 12 13 27 09 url1 ip01 2 2013 04 13 10 55 43 url2 ip02 3 2013
  • Django 独特的不工作

    我在从查询中过滤掉重复项时遇到问题 我正在使用 Django 1 4 和 Postgres 8 4 13 我在我的模型对象上使用这个查询 它是一个 jquery 自动完成 term request GET get term field re

随机推荐

  • hotmail手机端_hotmail邮箱登陆手机版 参见http://help.

    讲到邮箱 我们很多人都知道 有人问hotmail邮箱 还有人问hotmail邮箱登陆手机版 这到底是咋回事 实际上hotmail邮箱呢 小编为大家带来hotmail邮箱登陆手机版 希望你喜欢 hotmail邮箱登陆手机版 您好 你手机如果是
  • C#软件外包开发流程

    C 是一种由微软开发的多范式编程语言 常用于开发各种类型的应用程序 从桌面应用程序到移动应用程序和Web应用程序 下面和大家分享 C 编程学习流程 希望对大家有所帮助 北京木奇移动技术有限公司 专业的软件外包开发公司 欢迎交流合作 1 基础
  • 前缀、中缀、后缀表达式(逆波兰表达式)

    中缀表达式 简介 中缀表达式就是常见的运算表达式 如 3 4 5 6 前缀表达式 简介 前缀表达式又称波兰式 前缀表达式的运算符位于操作数之前 比如 3 4 5 6 前缀表达式的计算机求值 从右至左扫描表达式 遇到数字时 将数字压入堆栈 遇
  • shell 二维数组

    这次写脚本时用到了bash shell数组 当初做法是配置文件里面写成数组形式A element1 element2 element3 element4 然后一个脚本读取这个配置文件 于是稍微总结了一下数组的使用方法 Bash shell中
  • 3dsmax模型烘焙光照贴图并导入unity流程详解

    目录 前言 软件环境 前置知识储备 一 模型场景搭建 二 模型材质处理 三 vray渲染准备 四 烘焙至贴图 五 unity场景准备 六 贴图与材质 前言 该流程针对某些固定场景 模型发布 无法使用实时渲染引擎等 情况下的展示 本文记录烘焙
  • SQL Server2012如何更改服务器的名称

    一 事情起因 三层架构有个小问题 总是报各种错误 昨下午花费了半天时间准备把这个问题解决掉 未果 后来尝试了连接东哥的数据库 程序奇迹般的能运行了 东哥推测可能是我SQL Server 2012安装有问题 于是开始了尝试之旅 二 错误描述
  • 网络基础-传输层协议-TCP/UDP

    TCP UDP 谈一谈端口号 为什么会有端口号 端口号划分 一个进程可以bind多个端口号吗 一个端口号可以被多个进程bind吗 UDP 协议格式 udp协议的特点 无连接 不可靠 面向数据报 UDP缓冲区 TCP 协议格式 在这里插入图片
  • version `GLIBC_2.28‘ not found

    启动java jar包报错 报错内容主要是 version GLIBC 2 18 not found 产生原因 由于Linux系统的glibc版本太低 而软件编译时使用了较高版本的glibc引起的 查看glibc版本 这里链接的是2 17的
  • 红帽Red Hat Linux镜像下载

    红帽Red Hat Enterprise Linux镜像下载 官方网站链接 https developers redhat com products rhel download Download 链接 https pan baidu com
  • 梦幻模拟战更新服务器正在维护,《梦幻模拟战》二周年版本更新维护公告

    梦幻模拟战迎来二周年欢庆 海量更新内容即将解锁 新英雄罗泽希尔 克洛泰尔加入战斗 全新秘境限时活动开启 练兵场开放新兵种与科技 指挥官们 新的冒险已经来临 准备好接受挑战了吗 服务器预计将于8月20日1 00 8 00期间进行更新维护 在维
  • 6个非常有用的 CSS 资源网站

    作为一个 Web 设计师 精通 CSS 是绝对必要的而且对于 Web 开发也是必须的 良好的 CSS 编写习惯可以帮助你节省时间 并且能更好地进行网站的后期维护使得运行速度更快 从而节约带宽 下面是6个非常有用的 CSS 资源网站 包括 C
  • 常用bat

    1 net start XXX 用于启动系统服务 XXX 对应 系统服务中的对应的服务名称 启动mysql服务 net start MySQL 启动ORACLE服务 net start OracleServiceORCL net start
  • CRYSTAL-ubuntu-打工人使用手册-log

    个人笔记 将Mp4转换成gif sudo apt get install mplayer 将mp4分解成jpg存储到 img中 mplayer ao null result 2411 mp4 vo jpeg outdir img 将 img
  • Linux基础命令---显示进程树pstree

    pstree pstree显示正在运行的进程的树形结构 树以PID为根 如果省略了pid则以init为根 如果指定了用户名 则显示根植于该用户拥有的进程的所有进程树 如果pstree被调用为pstree x11 那么它将提示行尾的用户按RE
  • 区块链技术通俗讲解_要了解区块链一定要清楚区块链技术的几点技术原理

    关注 区链数科 让你从入门到精通区块链 其实 区块链并不是一个新型的技术 更多的应该是传统技术上的一个融合 再通过一定的规则和机制去实现了区块链独特性质 我们前面主要普及一些关于区块链的基本概念以及市场概况 今天来讲讲区块链的技术原理 希望
  • 使用pandas groupby的一个案例

    mongodb中有下面一组数据 业务场景就不介绍了 看数据应该很好理解 id 606fdd0805f5710008a82223 brand id 1 brand name APPLE series id 11 series name iPh
  • jdbc连接Microsoft SQL Server 2014

    前言 多年不用Microsoft SQL Server 简单回顾一下并记录一下在java中连接SQL Server的过程和注意事项 首先 从下载Driver开始 Microsoft JDBC Drivers 官方的下载地址为 适用于 SQL
  • 一些方便记忆的小例子

    epoll和select的小例子 先看一下epoll和select的区别 对于select来说 所有文件描述符都是在用户态被加入其文件描述符集合的 每次调用都需要将整个集合拷贝到内核态 epoll则将整个文件描述符集合维护在内核态 每次添加
  • Zookeeper缩容5缩3操作记录(二)

    测试目标 测试5台缩3台zk 先shutdown 一台5 再将1 2 3配置修改为1 2 3 逐一重启 是否会发生脑裂 测试过程 准备1 2 3 4 5 五台 3为leader 将5 shutdown 1 将1配置修改为1 2 3 重启 结
  • R语言之 删除重复数据

    这篇主要介绍如何在R中识别和删除重复数据 主要用的到R base和dplyr函数 duplicated 用于识别重复的元素和 unique 用于提取唯一元素 distinct dplyr package 删除数据框中的重复行 x lt c