我有一个数值变量(QS),范围为 1-10。我想创建一个分类变量,其中
差:QS < 5,好:QS > 5
所以我现在有 2 个分类变量......好和坏
在 R 中执行此操作的最佳方法是什么?
我有一个数值变量(QS),范围为 1-10。我想创建一个分类变量,其中
差:QS < 5,好:QS > 5
所以我现在有 2 个分类变量......好和坏
在 R 中执行此操作的最佳方法是什么?
我会在这里推荐cut
或factor
+ levels
。一个小例子:
set.seed(1)
QS <- sample(10, 15, replace = TRUE)
QS
# [1] 3 4 6 10 3 9 10 7 7 1 3 2 7 4 8
cut(QS, c(0, 5, 10), labels=c("Bad", "Good"))
# [1] Bad Bad Good Good Bad Good Good Good Good Bad Bad Bad Good Bad Good
# Levels: Bad Good
X <- factor(QS)
levels(X) <- list(Bad = 1:5, Good = 6:10)
X
# [1] Bad Bad Good Good Bad Good Good Good Good Bad Bad Bad Good Bad Good
# Levels: Bad Good