【发布时间】:2018-06-19 19:39:15
【问题描述】:
我正在尝试根据 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))))))
它的返回错误:意外的'
有什么建议吗?
【问题讨论】:
-
ifelse(750 <= data$x & data$x <= 779, 5,...(注意<=,不是=<),但是,正如@lebatsnok 所说,cut更简单:data$category = cut(data$x, breaks=c(-Inf, 640,660,679,714,750,778,Inf), labels=c(NA,1:6)) -
为了将来参考,如果您确实需要明确测试类别成员资格,您可能会发现
between函数很有用(它在dplyr包中)。between(data$x, 640, 659).
标签: r if-statement dplyr