gpt4 book ai didi

r - R 中具有三个条件的 Ifelse()

转载 作者:行者123 更新时间:2023-12-05 08:22:17 28 4
gpt4 key购买 nike

我有如下数据:

    RNA$MMP2
[1] 1.506000000 0.957833333 2.285500000 -0.089333333 -1.233166667
[6] 1.591500000 -1.396500000 -0.260500000 0.583000000 -0.716333333
[11] 1.628833333 -0.390000000 -0.466166667 -0.550666667 1.001666667
[16] 1.399000000 -0.454500000 -0.492833333 0.695166667 0.397666667

如果我要根据某个阈值(例如 1.0)将这些数字变量替换为字符变量,我将执行以下操作:

ifelse(RNA$MMP2 <= 1.0 ,"low","high")->x

如果我需要归类为三个字符变量怎么办:

a) RNA$MMP2 < 0.5 ,"low"; 

b) RNA$MMP2 > 0.5 and < 1.0, "medium";

c) RNA$MMP2 > 1.0, "high";

建议将不胜感激。

最佳答案

一个选项是 cut 以在多个条件下执行此操作

cut(RNA$MMP2, breaks = c(-Inf, 0.5, 1.0, Inf), 
labels = c("low", "medium", "high"))

如果有两个以上的组,则需要一个嵌套的ifelse

with(RNA, ifelse(MMP2 < 0.5, "low", 
ifelse(MMP2 >= 0.5 & MMP2 < 1.0, "medium", "high"))

关于r - R 中具有三个条件的 Ifelse(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63924221/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com