assign a value, if a number is in between two numbers

前端 未结 5 1931
自闭症患者
自闭症患者 2020-12-17 20:05

Im trying to assign the value of -1, to every number in my vector that is inbetween 2 and 5. I thought an if - then statement would work. I am having some trouble. I dont th

5条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-17 20:16

    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 you need to write x > 2 & x < 5
    • cat will output to the console or a file / connection. It won't assign anything.

提交回复
热议问题