在R中满足约束时分配因子级别

时间:2017-08-20 10:11:29

标签: r constraints levels

我认为通过使用(我只需要一点帮助做第二部分),我已经完成了一半的工作了:

clients[which(clients$Age >= 18 & clients$Age <= 24),]

将18岁至24岁(含)的所有人分组,并列出我数据框中匹配的所有行。

我只想更进一步,将与此约束匹配的每一行分配给一个因子变量的级别;说'我'。然后每个25-34岁的人都可以成为'II'的一部分,35-44'部分'III'等等。

最终的目标是让我轻松地绘制不同年龄组彼此相邻的频率 - 我觉得让它们在因子变量中的每个独特水平都是一个良好的开端。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用cut一次指定多个级别:

cut( clients$Age,
     breaks = c( 18, 25, 35, 45 ),
     include.lowest = TRUE,
     labels = c( "I", "II", "III" ) )

一个例子,使用18到45之间的每个整数。

cut( seq.int( 18, 45, 1 ),
     breaks = c( 18, 25, 35, 45 ),
     include.lowest = TRUE,
     labels = c( "I", "II", "III" ) )
 [1] I   I   I   I   I   I   I   I   II  II  II  II  II  II  II  II  II  II  III III III III
[23] III III III III III III
Levels: I II III