There are a number of syntax error in your code.
Try using findInterval
x[findInterval(x, c(2,5)) == 1L] <- -1
x
## [1] -1.0 6.0 7.8 1.0 -1.0 -1.0
read ?findInterval
for more details on the use of findInterval
You could also use replace
replace(x, x > 2 & x < 5, -1)
Note that
- for
2<x<5
you need to write x > 2 & x < 5
cat
will output to the console or a file / connection. It won't assign anything.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…