首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有指定断点的R裁剪函数

具有指定断点的R裁剪函数
EN

Stack Overflow用户
提问于 2018-04-14 12:58:03
回答 1查看 2.1K关注 0票数 1

我有这个向量

代码语言:javascript
复制
ages <- c(17, 18, 16, 20, 22, 23)

我需要创造一个因子,它的水平为未成年人或成人,任何大于或等于18的观察都可以被认为是成年人。

我试过这个:

代码语言:javascript
复制
ages<-cut(ages, breaks=2, labels=c('Minor', 'Adult'))

但它仍然标18为未成年人,但它应该是成人,我如何才能打破门槛?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-14 13:01:17

我们不需要cut只用于两组

代码语言:javascript
复制
factor(c('Minor', 'Adult')[(ages  > 17) + 1])
#[1] Minor Adult Minor Adult Adult Adult
#Levels: Adult Minor

此外,对于cut,如果我们不指定时间间隔,而只将其切割成两个组,则间隔将与所选的18组不同。因此,我们传递一个切点的数值vector,而不是要进行的切数,并相应指定labels

代码语言:javascript
复制
cut(ages, c(-Inf,17, Inf), labels = c('Minor', 'Adult'))
#[1] Minor Adult Minor Adult Adult Adult
#Levels: Minor Adult

OP的代码标签错误的原因是基于分组

代码语言:javascript
复制
cut(ages, 2)
#[1] (16,19.5] (16,19.5] (16,19.5] (19.5,23] (19.5,23] (19.5,23]
#Levels: (16,19.5] (19.5,23]

在这里,切点是19.5而不是18

如果我们检查函数,可以确定它是如何计算breaks的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49831697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档