r - 找到一个值的百分位数.. ecdf 返回一个看起来很奇怪的值
问题描述
使用此数据集:https ://pastebin.com/qWgMZDDb
我试图找到5daychange
列的最后一个值的百分位数。
我跑:
ecdf(dat$daychange5)(tail(dat$daychange5, 1))
# returns 0.05056554
也就是说,最后一个值将位于第 5 个百分位,即 95% 的观测值更大。
但是,如果我绘制数据,这看起来不太正确:
last.value = tail(dat$daychange5, 1)
library(ggformula)
library(ggplot2)
gf_dhistogram( ~ daychange5, data = dat, binwidth = 0.01) %>%
gf_fitdistr(color = 'red') +
geom_vline(xintercept = last.value)
那条垂直线似乎高于第 5 个百分位,它看起来在 10-12 左右?
编辑:数据样本是安全的(尽管 pastebin 设置为永不过期)
structure(list(date = structure(c(18096L, 18099L, 18100L, 18101L,
18102L, 18103L, 18106L, 18107L, 18108L, 18109L, 18110L, 18113L,
18114L, 18115L, 18116L, 18117L, 18120L, 18121L, 18122L, 18123L
), class = "Date"), daychange5 = c(-0.0600000000000001, -0.0425000000000002,
-0.0150000000000001, -0.00249999999999995, 0.0100000000000002,
0, 0.00250000000000017, -0.00749999999999984, -0.00249999999999995,
-0.05, -0.0325000000000002, -0.04, -0.0625, -0.0550000000000002,
0.01, -0.00499999999999989, -0.0700000000000001, -0.0850000000000002,
-0.11, -0.1225)), row.names = 2992:3011, class = "data.frame")
解决方案
推荐阅读
- html - 模态元素从屏幕顶部撞出时不会向下滚动
- pandas - 熊猫数据框什么是处理选择行然后在没有SettingwithCopyWarning的情况下修改列的最佳方法
- android - 插件材料设计图标中的异常
- java - 通过 LLVM 前端编译的 Kotlin/Native 和 Java 字节码有什么区别?
- javascript - 如何使 event.stopPropagation() 为表单内的输入字段工作?
- nativescript - Nativescript 应用程序设置不会保留用户名和密码
- python - 如何处理来自我的 Django 应用程序的外部 API 的 JWT 身份验证?
- git - 计算另一个分支中的行号
- python - 深度学习模型的验证准确率停留在 0.5,而训练准确率正在提高
- java - @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) @Id 和序列的问题