R中的分组因子一起

问题描述 投票:0回答:1

我想将线性模型的数据分为三个单独的组。数据的范围是0到60。我希望数据的传播方式是0、60,然后其余的作为最后一组。我已经使用I(as.factor(data)== 0)并使用60来分离这两个,但是我如何拥有其余的数据。数据的长度不一样,因此仅将其余部分放入另一个对象中是不起作用的。

r linear-regression
1个回答
0
投票

也许是这样。首先,我们必须创建一些数据。我们将其称为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 
© www.soinside.com 2019 - 2024. All rights reserved.