R:将变量的某些项分配到已定义的组中

时间:2017-02-08 15:28:36

标签: r

我们说我有一个包含594个不同项目的变量。

[1] "qwerty"
[2] "qwerta"
[3] "qwerto"
[4] "qwerte"
etc.

我想要实现的是将项目分组到新的预定义类别中。例如,级别[1]到[85]的项目属于类别" A":

    workclas<-factor(levels=c("A", "B", "C"), ordered=T)
    workclas[levels(x)>=1 & levels(x)<85]<-"A"
    workclas[levels(x)>=85 & levels(x)<272]<-"B"
    workclas[levels(x)>=272 & levels(x)<594]<-"C"
    workclas[x=="Refusal" | x=="Don't know" | x=="No answer"]<-NA
    table(workclas, exclude=NULL)

我在想&#39;聚合&#39;但这显然不起作用。

    aggregate(formula, data, FUN, ...,
    subset, na.action = na.omit)

此外,我无法使用&#39; split&#39;因为我没有一个重新分配和相同的元素可以分开。

    split(x, f, drop = FALSE, sep = ".", lex.order = FALSE, ...)
    split(x, f, drop = FALSE, ...) <- value

我如何在R中解决这个问题?

感谢您的努力!

托马斯

1 个答案:

答案 0 :(得分:1)

用户A的简短输入Webb非常感谢。 这就是我所做的,如果其他人正在努力解决类似的问题:

workisco<-as.numeric(workisco)
workclas<-factor(levels=c("A", "B", "C", "D"), ordered=T)
workisco = cut(workisco, 
    breaks = c(1,171,279,590),
    labels = workclas,
    right = TRUE)