【问题标题】:Subset data by column values按列值子集数据
【发布时间】:2018-08-22 15:52:18
【问题描述】:

我有以下数据:“文件”

V1 V2
1 Gene1
2 Gene2
4 Gene3
5 Gene4
6 Gene5

我有一份想要保留的基因列表:

Gene <- (Gene3, Gene4, Gene5)

如何遍历这些基因,仅选择列表中的特定基因并保留行信息?

我试过没有用:

test <- c()
for (i in Genes) {
 test <- File[(File[,2][i]),]
}

有没有更好的方法来做到这一点?

【问题讨论】:

  • 你能提供一个小数据集吗?
  • 对不起,我试图简化数据。我正在使用 hg19 数据库。我想根据我整理的列表从 hg19 中提取基因名称,循环遍历每个基因,直到所有基因都被恢复。我还想保留行信息,因为我试图保留每个基因的 CHR、起始 bp 和结束 bp。
  • test&lt;-File[File$V2 %in% Gene,]

标签: r loops


【解决方案1】:

使用tidyverse,您可以将filter 函数与%in% 结合使用:

library(tidyverse)

df <- read.table(text = "
V1 V2
1 Gene1
                 2 Gene2
                 4 Gene3
                 5 Gene4
                 6 Gene5
                 ", header = TRUE)


Gene <- c("Gene3", "Gene4", "Gene5")

df %>% 
  filter(V2 %in% Gene)

#   V1    V2
#1  4 Gene3
#2  5 Gene4
#3  6 Gene5

【讨论】:

    猜你喜欢
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 2016-01-19
    • 2019-07-14
    • 2016-11-04
    • 1970-01-01
    相关资源
    最近更新 更多