5

我有一个数值变量(QS),范围为 1-10。我想创建一个分类变量,其中

差:QS < 5,好:QS > 5

所以我现在有 2 个分类变量......好和坏

在 R 中执行此操作的最佳方法是什么?

4

1 回答 1

10

我会在这里推荐cutfactor+ 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
于 2014-02-27T17:20:44.713 回答