r - 在 R 中的两个数字之间,即 5<=R>7

标签 r

我只是想找到一种方法来识别数据集中介于两个值之间的数字。到目前为止我所做的是使用 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/

相关文章:

r - 在 R 中创建滚动列表

r - 在 r 中将 Lambert 共形圆锥投影转换为 wgs84

r - 检测/确保在多核中使用多核

r - 如何在一个列中按几列对一个因子的出现次数进行计数?

r - 如何让 Windows 识别到 R 中的 "pt_br.utf-8"

r - 如何使用三个不同数据帧的变量执行 PCA 并对它们进行颜色区分?

r - 如何在 igraph 中添加数据框作为具有匹配 id 的顶点属性?

r - 如何对数据框列表中的每个数据框进行分组和汇总

r - 在 R 中绘制回归线

css - 将 CSS 类添加到 RMarkdown 中的单个代码块