本文介绍了如果数字介于两个数字之间,则赋值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试为矢量中介于2和5之间的每个数字赋值-1。
我认为If-Then语句会起作用。我遇到了一些麻烦。我不认为(2<;x<;5)是对的,但我不确定如何在R中写中间部分,有人能帮忙吗?谢谢
x <- c(3.2,6,7.8,1,3,2.5) if (2<x<5){ cat(-1) } else { cat (x) } 推荐答案您的代码中有许多语法错误。
尝试使用findInterval
x[findInterval(x, c(2,5)) == 1L] <- -1 x ## [1] -1.0 6.0 7.8 1.0 -1.0 -1.0有关使用findInterval的更多详细信息,请阅读?findInterval
您还可以使用replace
replace(x, x > 2 & x < 5, -1)请注意
- 对于2<x<5,您需要写x > 2 & x < 5
- cat将输出到控制台或文件/连接。它不会分配任何内容。
更多推荐
如果数字介于两个数字之间,则赋值
发布评论