获取任何随机数据集:
data = rnorm(100)
我想获得此数据中最大5%值的列表。如果我尝试:
quantile(data, .95)
...然后我得到第95百分位的单值。如果我尝试:
quantile(data, probs=c(1, .95))
...然后我只得到两个值:数据集中的最大值和第95百分位的值。如果我尝试:
quantile(data, 1 - .95)
...然后我得到第5百分位的单值。如果我尝试:
quantile(data, >.95)
...然后我收到语法错误消息。
如何获取给定分位数范围内所有值的列表?(在这种情况下,如何获取介于100之间的所有值的列表和第95百分位?)
答案 0 :(得分:2)
使用基本子集:
data[data>quantile(data, .95)]
从技术上讲,这是一个"数字向量"在R而不是"列表",这是一种不同的数据类型,但我认为它是你想要的。