我不理解R里面的所有术语。我只有100个级别的统计数据,试图了解更多。
我猜R有一个内置百分位函数,名为我无法识别或知道如何搜索的东西。
我可以写自己的,但是出于明显的原因使用内置的。
这是我写的那个:
percentile <- function(x) return((x - min(x)) / (max(x) - min(x))
答案 0 :(得分:8)
如果您要查找数据集中的特定百分位数,请查看quantile
函数:?quantile
。乘以100,就可以获得百分位数。
如果您正在考虑将数字转换为百分位数,请查看rank
,但您需要确定如何解决关系问题。您可以通过除以矢量的长度简单地从等级重新缩放到分位数。
答案 1 :(得分:8)
您可以通过
执行此操作scale(x,center=min(x,na.rm=TRUE),scale=diff(range(x,na.rm=TRUE)))
但我不确定实际上是否有内置函数可以执行您要求的缩放。
答案 2 :(得分:6)
quantile
功能可能就是你要找的东西。如果您有向量x
,并且想知道第25,第43和第72百分位数,那么您将执行此操作:
quantile(x, c(.25, .43, .72));
分号当然是可选的。
请参阅http://www.r-tutor.com/elementary-statistics/numerical-measures/percentile
答案 3 :(得分:2)
您可以通过RSiteSearch
例如
RSiteSearch("percentile")
答案 4 :(得分:0)
关于你正在考虑基于分布的百分位数的概率,这是一个不同的答案。每个概率分布都有一组与之相关的4个函数:密度,分布,分位数和生成函数。这些分别是d-,p-,q-和r-的前缀(具有基于分布的相同后缀)。您有统一的分布,并且询问百分位数(分布),因此您需要punif
。它需要min
和max
两个参数。
答案 5 :(得分:0)
我做了这个功能,检查一下。数据是任何向量,任何矩阵的数据帧。
percentiles<-function(Data) return(quantile(Data, seq(0,1, by=.01)))