r - r 创建三分位数,每组中的 n 相同并显示断点
问题描述
创建三分位数对我来说有点挑战性。
当我使用 cut 时,断点非常均匀,但组却不是。
使用 cut2 时,组变得更加均匀,但仍然不是真正的三分位数。
ntile 给出了真正的三分位数,但我看不到断点。
DF <- data.frame(var = rnorm(1000, 50, 15))
如何创建 3 个组,每个组有 ~333 个并显示断点?
我会很高兴得到帮助!
解决方案
我想你正在寻找quantile
:
quantile(DF$var, c(0, 1/3, 2/3, 1))
#> 0% 33.33333% 66.66667% 100%
#> -6.379706 44.044300 56.866305 101.082961
所以你可以这样做:
groups <- cut(DF$var, quantile(DF$var, c(0, 1/3, 2/3, 1)), include.lowest = TRUE)
table(groups)
#> groups
#> [-6.38,44] (44,56.9] (56.9,101]
#> 334 333 333
推荐阅读
- php - 将gmail发送到公司电子邮件时出错(PHP)
- amazon-web-services - 如何使用 IAmazonDynamoDB 将空字符串作为 dynamodb dotnet 中的字段值传递?
- php - 如何使用 PHP for 循环将余额更新到下一条记录?
- r - 在R中的分组数据中保留变量的第一个值
- python - 实时共享变量。多进程 Python
- python - 如何对python中包含相同id的字典进行重复数据删除
- selenium - 在 selenium 中找到具有特定子 css 选择器的元素的以下同级
- azure - 文件共享存储中用于 Azure 应用令牌的加密
- r - 从合并的数据框中删除重复项,同时在原始数据集中保留重复项
- javascript - 计算对象数组中重叠日期的最大数量