如果数字介于两个数字之间,则赋值 [英] Assign a value, if a number is in between two numbers
本文介绍了如果数字介于两个数字之间,则赋值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试为矢量中介于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
将输出到控制台或文件/连接。它不会分配任何内容。
这篇关于如果数字介于两个数字之间,则赋值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文