ifelse在r中的分类

ifelse在r中的分类,r,if-statement,dplyr,R,If Statement,Dplyr,我试图根据x变量的范围创建一个新的分类变量类别 我所做的是: data$category <- ifelse(data$x >= 780, 6, ifelse(750 =< data$x <= 779, 5, ifelse(714 =< data$x <= 749, 4, ifelse(679 =< data$x <=

我试图根据x变量的范围创建一个新的分类变量类别

我所做的是:

data$category <- ifelse(data$x >= 780, 6,
                      ifelse(750 =< data$x <= 779, 5,
                      ifelse(714 =< data$x <= 749, 4,
                      ifelse(679 =< data$x <= 713, 3,
                      ifelse(660 =< data$x <= 678, 2,
                      ifelse(640 =< data$x <= 659, 1, NA))))))
data$category=780,6,,

ifelse(750=cut
而不是这种方法

[edit]eipi10在评论中显示了如何做到这一点--但我建议两个更改:

 d$cat <- cut(d$x, c(640, 660, 679, 714, 750, 780, Inf)-1 , labels=FALSE)

d$cat我建议用
cut
代替这种方法

[编辑]eipi10在一条评论中展示了如何做到这一点——但我建议进行两项修改:

 d$cat <- cut(d$x, c(640, 660, 679, 714, 750, 780, Inf)-1 , labels=FALSE)

d$catR不支持语法
750=750=ifelse(750供将来参考,如果您确实需要明确测试类别成员资格,您可能会发现
between
函数很有用(它在
dplyr
包中)。
between(data$x,640,659)
ifelse(750供将来参考,如果您确实需要明确测试类别成员资格,您可能会发现
between
函数很有用(它位于
dplyr
包中)。
between(数据$x,640,659)