我只是想找到一种方法来识别数据集中介于两个值之间的数字。到目前为止我所做的是使用 ifelse 即
ifelse(score<=5,1,ifelse(score<=7,2,3))
这已经奏效了,但我想知道你们是否知道找到 5<=R>7 的更好方法,
谢谢
詹姆士
最佳答案
findInterval
几乎是您想要的,但是间隔的右侧是开放的。通过否定眼前的一切来反转给出了封闭的右侧间隔。
您的代码:
x <- function(score) ifelse(score<=5,1,ifelse(score<=7,2,3))
A
findInterval
方法:y <- function(score) 3 - findInterval(-score, -c(7,5))
结果:
> x(1:20)
[1] 1 1 1 1 1 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3
> y(1:20)
[1] 1 1 1 1 1 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3
关于r - 在 R 中的两个数字之间,即 5<=R>7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23163590/