根据另一列中的条件替换列中的值

我有一个数据框,其中“阈值”列基于前 4 列中的值。但是,如果热点列中有“是”,我想将阈值替换为“高”。因此,如果数据框当前看起来像这样:

CNV.增益 放大 纯合.缺失.频率 杂合.缺失.频率 热点 临界点
3 5 10 0 是的 低的
0 0 11 8 中等的
7 16 25 0 高的

回答

您可以使用mutate和 相应case_when地替换值。

long_fused %>% mutate(
        Threshold = case_when(
                Hotspot == "Yes" ~ "High",
                Hotspot != "Yes" ~ Threshold
        )
)

编辑:与@Connor 关于约定的简短讨论,以及解决此类问题的一般方法使我进行了此编辑并修复了一个错字!

long_fused %>% mutate(
        Threshold = case_when(
                Hotspot == "Yes" ~ "High",
                TRUE ~ Threshold
        )
)

使用TRUE ~ Threshold.


以上是根据另一列中的条件替换列中的值的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>