r - 分位数类型 2 的问题
问题描述
我不理解以下行为quantile
。它应该在type=2
不连续处平均,但这似乎并不总是发生。如果我创建一个包含 100 个数字的列表并查看百分位数,那么我不应该取每个百分位数的平均值吗?这种行为发生在一些人身上,但不是对所有人(即第 7 个百分位)。
quantile(seq(1, 100, 1), 0.05, type=2)
# 5%
# 5.5
quantile(seq(1, 100, 1), 0.06, type=2)
# 6%
# 6.5
quantile(seq(1, 100, 1), 0.07, type=2)
# 7%
# 8
quantile(seq(1, 100, 1), 0.08, type=2)
# 8%
# 8.5
这与浮点问题有关吗?
100*0.06 == 6
#TRUE
100*0.07 == 7
#FALSE
sprintf("%.20f", 100*0.07)
#"7.00000000000000088818"
解决方案
推荐阅读
- sql - Presto - 提取数组中的键
- javascript - 在 RxJS 中,Observer 是否被注入到 Observable 执行中?
- python - 无法使用计数创建新列并保留 GroupBy 列
- python - 使用 DictReader 时如何在 csv 文件中查找最后一行
- javascript - 你能用地图自动创建 jsx 元素吗?
- google-app-maker - 如何从 App Maker 下载生成的 CSV 文件?
- typescript - 键入具有可选键的对象,但存在的键为非空值
- javascript - firebase 实时数据库错误:Reference.set 失败:第一个参数包含未定义的属性
- ruby - 定义 Ruby 的奇怪行为?
- webpack - 无法从模板访问 htmlWebpackPlugin.files 数据