【发布时间】:2021-08-18 22:04:17
【问题描述】:
我目前正在尝试创建一个双重条件,如果我的数据框“模型”的癌症类型(指示)和基因(基因)都出现在另一个名为“cpg”的数据框中,那么一个新列如果两个条件都满足,则在模型表中为“是”,如果不满足,则为“否”。为了说明这一点:
模型表有:
| Indication | Genes |
|---|---|
| Acute Myeloid Leukemia | TP53 |
| Acute Myeloid Leukemia | GNAQ |
cpg 数据框有:
| Cancer Type | Gene |
|---|---|
| Acute Myeloid Leukemia | TP53 |
| Acute Myeloid Leukemia | ATM |
我想制作一个如下所示的模型表(基于 cpg 数据):
| Indication | Genes | Hotspot? |
|---|---|---|
| Acute Myeloid Leukemia | TP53 | Yes |
| Acute Myeloid Leukemia | GNAQ | No |
到目前为止,我已经尝试(但失败了)创建一个带有条件的 for 循环来创建一个向量,希望随后将此向量附加为一个新列:
hotspot <- c()
for (i in 1:nrow(mockup)){
if ((mockup$Genes[i] == cpg$Gene && mockup$Indication[i] == cpg$`Cancer Type`)){
hotspot[i] <- print("yes")
} else {
hotspot[i] <- print("no")
}
}
unique(hotspot)
一如既往,任何帮助都将不胜感激!
【问题讨论】:
标签: r dataframe for-loop if-statement conditional-statements