【问题标题】:Dividing a vector into categories将向量划分为类别
【发布时间】:2014-10-18 23:50:45
【问题描述】:

我对 R 非常陌生,并且在将数字划分为 向量分为称为 A (45) 的类别(最终运行多元回归模型)

我目前正在使用 if 函数(尽管如果有更好的方法 这个我也可以),这是代码:

high<- inc_edu_waste$Percentage.high

cathigh<- rep(0, times=408)
for (i in 1:408){
if (high[i] < 15){high[i] <- "A"}
if (high[i]>=15 & high[i]<30){cathigh[i] <- "B"}
if (high[i]>=30 & high[i]<45){cathigh[i] <- "C"}
if (high[i]>=45 & high[i]<100){cathigh[i] <- "D"}
}

当我运行它时,我得到以下错误:

if (high[i]

另外:警告信息: 在 Ops.factor(high[i], 15) 中:

非常感谢您的帮助!

【问题讨论】:

  • 考虑使用cut LETTERS[1:5][cut(high, breaks=c(-Inf, 15, 30, 45, 100, Inf), labels=FALSE)]之类的东西

标签: r


【解决方案1】:

按照 akrun 的建议,使用 cut

> v <- 1:99
> cut(v, c(0,14,29,44,99), LETTERS[1:4])
 [1] A A A A A A A A A A A A A A B B B B B B B B B B B B B B B C C C C C C C C C C C C C C C D D D D
[49] D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D
[97] D D D
Levels: A B C D

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多