使用新列名对R中的数据进行分组

时间:2016-12-04 18:39:46

标签: r grouping

示例数据

Name: test
id   age
1    25
2    48
3    77
4    17
5    27

我想添加一个名为age_group的新列,所以我添加了:

test$age_group<-NA

在这个新专栏中,我希望按年龄添加一个组(显然)。

<18=1
19-30=2 
31-45=3
46-60=4
61-75=5
>76 = 6

所以数据现在看起来像这样:

id   age  age_group
1    25   2
2    48   4
3    77   6
4    17   1
5    27   2

有人可以帮助您了解如何填充age_group的代码吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

df$age_group <- cut(df$age, breaks = c(0,18,30,45,60,75,Inf), labels = 1:6)

#  id age age_group
#1  1  25         2
#2  2  48         4
#3  3  77         6
#4  4  17         1
#5  5  27         2

答案 1 :(得分:0)

以下是findInterval

的另一个有效选项
findInterval(test$age, c(0, 18, 30,45, 60, 75, Inf))
#[1] 2 4 6 1 2