全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4563 6
2018-05-31
悬赏 5 个论坛币 已解决
代码如下,系统始终对if后面的条件句报错,请问怎么办
a3$a28 <- if((a3$x1 > a3$x2)==FALSE){
          -1
         }else{
           a3$x1+3
         }


错误为:In if ((a3$x1 > a3$x2) == FALSE) { :
  the condition has length > 1 and only the first element will be used

数据如图所示,我想让x1中为-1的在a28中依然为-1,x1中那些大于-1的值在a28中加3。
x1和x2的类型均为numeric,长度均相等。
捕获3333.PNG

最佳答案

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-5-31 20:40:55
a3$a28 <- ifelse(a3$x1 <= a3$x2, -1, a3$x1 + 3)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-31 20:42:18
补充一张代码的图,文字有点乱
捕获.PNG
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-5-31 20:43:19
再补充一张报错的截图
附件列表
捕获.PNG

原图尺寸 5.99 KB

捕获.PNG

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-6-1 10:14:42
你遇到了我曾经遇到的问题,我也是在论坛上找到答案的,感谢论坛曾经对我的帮助。答案是:因为if只接受一个判断,不能接受向量化的判断,如果给if一串T or F,它只认第一个,所以要用楼上说的ifelse,或者用循环
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-6-1 14:24:18
zerofung 发表于 2018-6-1 10:14
你遇到了我曾经遇到的问题,我也是在论坛上找到答案的,感谢论坛曾经对我的帮助。答案是:因为if只接受一个 ...
感谢指教,非常管用,又学习了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群