我只是想找到一种方法来识别数据集中介于两个值之间的数字.到目前为止我所做的是使用ifelse即
ifelse(score<=5,1,ifelse(score<=7,2,3))
Run Code Online (Sandbox Code Playgroud)
这已经奏效,但我想知道你们是否知道更好的方法找到5 <= R> 7,
谢谢
詹姆士
findInterval几乎是你想要的,但是间隔开右边.通过否定视线中的所有内容进行反转可以得到封闭的右侧间隔.
你的代码:
x <- function(score) ifelse(score<=5,1,ifelse(score<=7,2,3))
Run Code Online (Sandbox Code Playgroud)
一种findInterval方法:
y <- function(score) 3 - findInterval(-score, -c(7,5))
Run Code Online (Sandbox Code Playgroud)
结果:
> 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3772 次 |
| 最近记录: |