数据处理|数据查重怎么办?去重,就这么办!

简介: 数据处理|数据查重怎么办?去重,就这么办!

本文首发于“生信补给站”公众号  https://mp.weixin.qq.com/s/oxOSaVxQNPDxFDq5Wu9WjQ


论文查重怎么办?就那么办!OK!

数据查重怎么办?就这么办!KO!

数据清洗过程中的典型问题:数据分析|R-缺失值处理数据分析|R-异常值处理和重复值处理,本次简单介绍一些R处理重复值的用法:

  • 将符合目标的重复行全部删掉;
  • 存在重复的行,根据需求保留一行

数据准备

使用GEO数据库的表达数据,抽取一些并稍加处理(为方便展示)

data<-read.csv("A.csv",header=TRUE)

可以明显看到ID_REF存在重复,那要怎么处理呢?

一个不留


对于重复的行,一个不留!

1. unique 直接去重

data1<-unique(data)

data1

简单,直接,可以看到第9行完全重复的已经被删除。

如果我还想去掉ID_REF重复的行,怎么办?


2. duplicated 可选去重

1)删除数据集中完全重复的行,同unique

data2<-data[!duplicated(data),]

2)选择性删除

A:删除某一列存在重复的行

data2<-data[!duplicated(data$ID_REF),]  

删除了ID_REF列存在重复的行,搞定!

B:删除某几列重复的行

#等价
data2 <- data[!duplicated(data[,c("ID_REF","GSM74876")]),]
data2 <- data[!duplicated(data[,c(1,3)]),]

删除了ID_REF列和GSM74876列均重复的行,Done!

择“优”录取


存在重复,但是不想完全删除,根据数据处理的目的保留一行。

1. aggregate函数

A : ID_REF重复行,保留其均值

data3<-aggregate( .~ID_REF,data=data, mean)

保留其最大值如下即可:

data3<-aggregate( .~ID_REF,data=data, max)

2 dplyr函数

A : ID_REF重复行,保留其均值,同aggregate函数结果一致。



library(dplyr)data4 <- data %>% group_by(ID_REF) %>% summarise_all(mean)

表达量去重

芯片表达数据中,会存在一个基因多个探针的情况,此处选择在所有样本中表达量之和最大的探针。

library(tibble)
data5 <- data %>%
 #计算每个探针(行)的表达量均值
 mutate(rowMean =rowMeans(.[grep("GSM", names(.))])) %>%
 #表达量均值从大到小排序
 arrange(desc(rowMean)) %>%
 # 选择第一个,即为表达量最大值
 distinct(ID_REF,.keep_all = T) %>%
 #去除rowMean这一列
 select(-rowMean) %>%
 # 将ID_REF列变成行名
 column_to_rownames(var = "ID_REF")


好了,常用的数据去重方法先介绍这些,绝对比论文查重简单多了!


◆  

数据分析相关:

R|批量循环处理同一格式文件-csv,txt,excel

R In Action |基本数据管理

数据分析|R-缺失值处理

数据分析|R-异常值处理

数据分析|R-描述性统计

小数据| 描述性统计(Python/R 实现)

数据挖掘|R-相关性分析及检验

数据处理 | R-tidyr包

数据处理|R-dplyr

R|apply,tapply

数据处理|数据框重铸

R|ML_code-入门(1)

R|ML_code-线性回归(2)

R|机器学习入门-多元线性回归(3)

相关文章
|
2月前
|
供应链 数据挖掘 数据处理
聚合数据,洞察未来!Python聚合术,解锁数据背后的商业密码!
在数据泛滥的时代,数据聚合成为企业决策的关键。它通过整合不同来源的数据,揭示隐藏规律与趋势,为科学决策提供依据。Python凭借其丰富的库如Pandas和NumPy,在数据聚合中表现出色,简化了数据处理流程。通过示例展示了如何使用Pandas对销售数据进行聚合分析,帮助企业优化库存管理、调整策略,预测需求,在竞争中脱颖而出。
49 5
|
3月前
|
数据可视化 数据挖掘 Python
揭秘数据排序的神秘面纱:如何用DataFrame排序和排名洞悉数据背后的秘密?
【8月更文挑战第22天】DataFrame排序和排名是数据分析的关键步骤,尤其在使用Python的Pandas库处理表格数据时尤为重要。通过对DataFrame使用`sort_values()`方法可实现基于一列或多列的灵活排序,而`rank()`方法则能轻松完成数据排名。例如,对学生信息DataFrame按分数排序及排名,或先按年龄排序再按分数排名,均可快速洞察数据模式与异常值,适用于金融分析和教育研究等多个领域。掌握这些技术有助于提高数据分析效率并深入理解数据。
49 1
|
4月前
|
存储 C语言 索引
【实战编程】学生信息管理系统:一键实现数据插入、智能排序、精准查询与成绩统计(附完整源码,即学即用!)
结构体数组是C语言中一种复合数据类型,它结合了结构体的灵活性和数组的有序集合特性,允许你定义一组具有相同结构的数据项。结构体定义了一组不同数据类型的变量集合,而结构体数组则是这种结构的连续内存块,每个元素都是该结构类型的实例。这种方式特别适合管理具有相似属性的对象集合,如学生信息、员工记录等。
|
数据可视化 数据挖掘 BI
【氚云】还在用Excel表格做数据分析?两步打造数据大脑
还在用Excel表格做数据分析?两步打造数据大脑
531 0
【氚云】还在用Excel表格做数据分析?两步打造数据大脑
|
自然语言处理
两份数据基于文本和住房信息的分词统计 tfidf 数分作业
两份数据基于文本和住房信息的分词统计 tfidf 数分作业
76 0
两份数据基于文本和住房信息的分词统计 tfidf 数分作业
|
数据采集 SQL 存储
整体技术流程-数据入库(ETL)|学习笔记
快速学习整体技术流程-数据入库(ETL)
1119 1
整体技术流程-数据入库(ETL)|学习笔记
|
SQL BI Shell
报表统计_广告投放统计_代码实现 | 学习笔记
快速学习报表统计_广告投放统计_代码实现
101 0
报表统计_广告投放统计_代码实现 | 学习笔记
|
算法 搜索推荐 BI
【课后任务】房源画像及统计报表建设|学习笔记
快速学习【课后任务】房源画像及统计报表建设
204 0
|
大数据 开发者
电商项目之交易类指标统计表分析|学习笔记
快速学习电商项目之交易类指标统计表分析
|
SQL 分布式计算 数据可视化
建设自己的取数平台:聚合分析
除明细数据导出外,取数场景中还会涉及到聚合分析。
512 1
建设自己的取数平台:聚合分析