【发布时间】:2021-03-30 18:48:36
【问题描述】:
我有一个数据框(大约 300 行),其中一列称为“geneID”:
geneID distance pvalue
4 30 0.05
409 0 0.001
60 41 0.02
...
我有第二个数据框,它指示构成较大抗生素生物合成基因簇的基因范围(染色体中有大约 30 个基因簇):
ClusterID start end
Chloramphenicol 100 130
NRPS 403 489
Terpene 5021 5109
...
如果geneID在该基因簇的“开始”和“停止”之间,我想要做的是向数据帧1添加另一列,标记为数据帧2的相应“clusterID”:
geneID distance pvalue ClusterID
4 30 0.05 NA
409 0 0.001 NRPS
60 41 0.02 NA
我尝试在 mutate 函数中使用向量作为值:
ChIP_table %>%
mutate(ClusterID = case_when((ID >= biosynthetic_clusters$start & ID <= biosynthetic_clusters$end) ~ biosynthetic_clusters$Cluster,
TRUE ~ "NA"))
这没有用。不知道从这里去哪里。我已经尝试构建一个 for 循环,但仍然无法找到一种方法来使用向量/列值作为排序/标签的条件。
任何帮助将不胜感激!
【问题讨论】:
-
this question 有用吗?