r - 在 R 中:选择行中数值的数据框函数中的列
问题描述
请问我可以请教一个建议:
考虑 R 中的数据框,其中包含基因表达的数值:
x <- data.frame(TTT=c(0,1,0,0),
TTA=c(0,1,1,0),
ATA=c(1,0,0,0),
gene=c("gene1", "gene2", "gene3", "gene4"))
我怎样才能只选择基因(行)的值非零的列?
谢谢你!
——波格丹
解决方案
你可以考虑dplyr
图书馆。在这个包中,有一个filter
函数可以让你根据给定的条件对行进行子集化。
通过_if
在函数后面添加,您可以使用轻松选择仅数字列is.numeric
。
x <- data.frame(TTT=c(0,1,0,0),
TTA=c(0,1,1,0),
ATA=c(1,0,0,0),
gene=c("gene1", "gene2", "gene3", "gene4"))
library(dplyr)
x %>%
filter_if(is.numeric, any_vars(. != 0)) # any_vars() takes |
#> TTT TTA ATA gene
#> 1 0 0 1 gene1
#> 2 1 1 0 gene2
#> 3 0 1 0 gene3
推荐阅读
- java - 在 Spring 应用程序中通过 ReactJS 的 REST 文件列表为空
- angular - 在 Angular 6 中执行父路由页面中的承诺回调之前执行子路由页面中的代码
- java - 使用正则表达式在java中生成密码
- arrays - Swift:过滤时从数组中排除特定索引
- python - 使用多处理在 python 中读取网络摄像头
- flutter - Flutter - 可聚焦的 ListView 项目
- javascript - 如何从 javascript 中的 DOM 结构中导出 JSON 数据?
- web-services - 通过 COBOL 程序从 CICS 连接到 https Web 服务
- wordpress - 将 Divi Builder 与 WpBakery 一起使用不起作用
- sql-server - SQL Server 2014 レスポンス 不良