首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对行应用分位数桶

对行应用分位数桶
EN

Stack Overflow用户
提问于 2018-12-10 02:21:03
回答 1查看 232关注 0票数 0

我的目标是为给定的列建立分位数,然后根据这些五分位数为每一行分配适当的桶。

确定五分之一的数据很容易:

代码语言:javascript
复制
quantile(df$x, probs=seq(0,1,0.2),na.rm = TRUE)

但是,对于如何使用函数而不是手动散列将此信息分配给每一行,我有点不知所措。我使用过applytapply,但还没有完全达到目的。类似这样的内容只会产生与上面相同的信息,但是引用特定的UID和桶中的其他列:

代码语言:javascript
复制
apply(df, 2, quantile, probs = c(0.2, 0.4, 0.6, 0.8, 1.0), na.rm = TRUE)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-10 04:56:40

如果我理解你的意思,用虹膜样本数据:

代码语言:javascript
复制
q <- quantile(iris$Sepal.Length, probs=seq(0,1,0.2),na.rm = TRUE)

得到五分位数。然后,您可以使用cut将观察分配给桶。

代码语言:javascript
复制
iris$qc <- cut(iris$Sepal.Length, q)
table(iris$qc)

给你

代码语言:javascript
复制
    (4.3,5]    (5,5.6]  (5.6,6.1] (6.1,6.52] (6.52,7.9] 
         31         33         30         25         30

我想这就是你想要的。如果你想要的话,你可以改变名字,也可以随意选择。

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

https://stackoverflow.com/questions/53698691

复制
相关文章

相似问题

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