在 R 中满足约束条件时分配因子水平 [duplicate]

Assign a factor level when constraints are met in R [duplicate]

提问人:Troy 提问时间:8/20/2017 更新时间:8/20/2017 访问量:391

问:

我想我已经完成了我想使用的功能的一半(只需要一点帮助来做第二部分):

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

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

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

最终目标是让我能够轻松地将不同年龄组的频率并排绘制出来——我觉得将它们放在一个因子变量中的每一个独特的水平将是一个好的开始。

有什么想法吗?

R 约束 级别

评论


答:

3赞 rosscova 8/20/2017 #1

您可以使用一次指定多个级别: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

评论

0赞 Troy 8/20/2017
正是我需要的,谢谢一群伙伴!
0赞 rosscova 8/20/2017
不用担心!只是为了记录,你确实是你想要的“一半”,只是一条很好的捷径(我杀了我)到达那里。cut