r - 消除数据集中的特定行
问题描述
我有一个 .csv 格式的数据框。该数据框包括 34500 行。在此文件中,存在 RNAseq 分析结果列表。这里的问题是一些基因有多个结果,我应该为每个基因选择 1 个条目,这个条目应该有最大的 p 值。我编辑了我的数据,我只有“基因符号”和“p值”信息。
我如何删除/消除包含根据我的规则应该消除的基因的行。我将添加一个显示我的问题的屏幕截图。
提前致谢。
解决方案
假设空白 ( ""
) 对应于前一个非空白“基因”的重复条目,将空白更改为NA
( na_if
),然后使用fill
将 NA 更改为以前的非 NA 值,按“基因”分组,得到行max
“pvalue”的值
library(dplyr)
library(tidyr)
df1 %>%
mutate(Gene = na_if(Gene, "")) %>%
fill(Gene) %>%
group_by(Gene) %>%
slice(which.max(pvalue))
推荐阅读
- fortify - reportgenerator 和 BIRTreportgenerator 有什么区别?
- python - 返回最后一个非零值
- r - 如何将列值设置为最后一个正整数
- php - 显示帖子类型的标签时如何限制列表元素的数量
- azure - B2C 自定义策略:如何为陪审团 UI 标头查找未记录的本地化字符串 ID
- python - 我在使用下面给出的代码时收到“ProgrammingError: Unknown character set: 'utf8mb4'” ..请提出解决方案
- python - 一个接一个地根据另一个数组的值对数组进行排序
- rabbitmq - RabbitMQ 在单个应用程序中同时作为生产者和消费者
- c++ - 引用结构中的 C++ 内存管理
- java - 互操作性:在 Java 和 Scala 之间共享对象或 Row 的数据集,两种方式。我将 Scala 数据集操作放在 Java 的中间