如果数字介于两个数字之间,则赋值 [英] Assign a value, if a number is in between two numbers

查看:21
本文介绍了如果数字介于两个数字之间,则赋值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试为矢量中介于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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆