【问题标题】:How to recode numerical variable into categorical?如何将数值变量重新编码为分类?
【发布时间】:2019-04-15 13:00:18
【问题描述】:

您好,我一直在尝试将数值变量重新编码为分类变量。

例如,使用mtcars,我试图将mpg分为2个类别25

这些是我尝试过的代码,但收到错误消息。

data=mtcars
summary(mtcars$mpg)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
10.40   15.43   19.20   20.09   22.80   33.90 

mpgcat <- cut(mpg, breaks = (0,24.99,34), labels = c("0","1"))

错误:“mpgcat

【问题讨论】:

  • 改进了格式并为 R 添加了相关标签。因此您会在这里受到其他用户的关注。
  • 当您拥有breaks = (0, 24.99,34) 时,您需要breaks = c(0,24.99,34)。投票以拼写错误结束。
  • 根据 Gregor 的评论投票结束,但是,为了清楚起见,发布完整的工作行:cut(mtcars$mpg, breaks = c(0,24.99,34), labels = c("0","1"))

标签: r recode


【解决方案1】:

cutx 的范围划分为多个区间,并根据它们所在的区间对 x 中的值进行编码。最左边的区间对应第一层,最左边的对应第二层,以此类推。

breaks 是两个或多个唯一切割点的数字向量,或者是一个数字(大于或等于 2),给出要切割 x 的区间数。

所以你需要一些脚本代码,例如:

data=mtcars
summary(mtcars$mpg)
mpgcut <- cut(mtcars$mpg, breaks = c(0,24.99,34), labels = c("0","1"))
mpgcut

得到这样的结果:

[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 0 0 0
Levels: 0 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-14
    • 1970-01-01
    • 2017-01-21
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多