如果有59个观测值,我很困惑为什么quantile(data, probs = 0.05)
将3个值放在第5个百分位数之下,因为3/59 =〜0.051。
library(tidyverse)
a <- seq(c(1:59))
b <-rnorm(59)
df <- data.frame(a,b)
df_5thperc <- df %>% summarize(`05%` = quantile(b,
probs=0.05))
y <- mean(df_5thperc$`05%`)
ggplot() + geom_point(data = df, aes(x = a, y = b)) +
geom_hline(yintercept = y, color = "blue")
答案 0 :(得分:3)
要在@BenBolker上扩展,可以考虑type
函数的quantile()
参数。您正在使用连续分布,因此类型4到9是相关的。例如:
b[b < quantile(b, probs = c(.05), type = 9)]
类型4和6将提供您可能期望的结果
[1] -1.893092 -3.263889
5、7、8和9会给出
[1] -1.893092 -1.538927 -3.263889
帮助文件详细说明了原因,但最后归结为以下事实:没有商定的方法来估计样本分位数(包括中位数)。