我想将线性模型的数据分为三个单独的组。数据的范围是0到60。我希望数据的传播方式是0、60,然后其余的作为最后一组。我已经使用I(as.factor(data)== 0)并使用60来分离这两个,但是我如何拥有其余的数据。数据的长度不一样,因此仅将其余部分放入另一个对象中是不起作用的。
也许是这样。首先,我们必须创建一些数据。我们将其称为dta
,因为data
是函数的名称:
dta <- c(25, 60, 60, 59, 60, 0, 19, 0, 0, 60, 60, 0, 22, 0, 59, 60,
0, 0, 60, 0, 60, 57, 10, 60, 55, 0, 60, 45, 3, 0)
现在创建一个以所需方式对数据进行分组的变量:
grp <- factor(ifelse(dta==0, 1, ifelse(dta==60, 3, 2)))
如果需要,您可以变得更高级:
grp <- factor(ifelse(dta==0, "0", ifelse(dta==60, "60", "Between")),
levels=c("0", "Between", "60"))
table(grp)
# grp
# 0 Between 60
# 10 10 10