关于ifelse的运用的一些疑问

问题遇到的现象和发生背景

r语言代码不熟练 有关ifelse函数
原来的题目是deg有两列,a和b
按照以下条件生成向量x
a<-1且b<0.05,x对应down
a>1且b<0.05,x对应up
其他情况对应no

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%

ifelse(deg$a<-1&deg$b<0.05,"down",ifelse(deg$a>1&deg$b<0.05,"up","no"))

运行结果及详细报错内容

deg中所有的a列数值均转变为True,但原先设定的代码感觉不会是这样的结果

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

利用嵌套ifelse进行三种情况的分类

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

正确的代码以及错误的原因

x <- ifelse(deg$a < -1 & deg$b < 0.05, "down",
            ifelse(deg$a > 1 & deg$b < 0.05, "up", "no"))

我猜测您代码中的错误在于第一个ifelse函数的条件表达式中的逻辑运算符号。您的代码中的条件表达式为deg$a<-1&deg$b<0.05,其中的<-应该改为<。修改后的代码应该是这样的:


ifelse(deg$a<1&deg$b<0.05,"down",ifelse(deg$a>1&deg$b<0.05,"up","no"))

  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:解决ifelse过多问题