如何在R中将连续变量拆分为多个组?

当我们要基于连续变量的某些特征比较分类变量的不同级别时,需要拆分连续变量。例如,从工资创建工资组,然后使用方差分析或Kruskal-Wallis检验比较这些组。要将连续变量分为多个组,我们可以使用Hmisc包的cut2函数-

示例

请看以下数据帧-

set.seed(2)

ID<-1:25

Salary<-sample(20:50,25,replace=TRUE)

df<-data.frame(ID,Salary)

df

输出结果

ID Salary

1 1 40

2 2 34

3 3 25

4 4 25

5 5 27

6 6 36

7 7 48

8 8 36

9 9 31

10 10 48

11 11 28

12 12 37

13 13 30

14 14 20

15 15 22

16 16 41

17 17 35

18 18 37

19 19 38

20 20 42

21 21 50

22 22 27

23 23 26

24 24 20

25 25 41

根据薪资划分df并为具有五个组的薪资组创建新列-

library(Hmisc)

df$Salary_Group<-as.numeric(cut2(df$Salary, g=5))

df

ID Salary Salary_Group

1 1 40 4

2 2 34 3

3 3 25 1

4 4 25 1

5 5 27 2

6 6 36 3

7 7 48 5

8 8 36 3

9 9 31 3

10 10 48 5

11 11 28 2

12 12 37 4

13 13 30 2

14 14 20 1

15 15 22 1

16 16 41 4

17 17 35 3

18 18 37 4

19 19 38 4

20 20 42 5

21 21 50 5

22 22 27 2

23 23 26 2

24 24 20 1

25 25 41 4

根据薪金划分df并为具有三组的薪金组创建新列-

df$Salary_Group<-as.numeric(cut2(df$Salary, g=3))

df

ID Salary Salary_Group

1 1 40 3

2 2 34 2

3 3 25 1

4 4 25 1

5 5 27 1

6 6 36 2

7 7 48 3

8 8 36 2

9 9 31 2

10 10 48 3

11 11 28 1

12 12 37 2

13 13 30 2

14 14 20 1

15 15 22 1

16 16 41 3

17 17 35 2

18 18 37 2

19 19 38 3

20 20 42 3

21 21 50 3

22 22 27 1

23 23 26 1

24 24 20 1

25 25 41 3

df$Salary_Group

[1] 3 2 1 1 1 2 3 2 2 3 1 2 2 1 1 3 2 2 3 3 3 1 1 1 3

这里,组大小是不同的,因为样本大小为25,而不是3的倍数。

以上是 如何在R中将连续变量拆分为多个组? 的全部内容, 来源链接: utcz.com/z/357708.html

回到顶部