如何使用r识别给定数据的分布

Van*_*n S 7 r

我有如下数据,我需要确定数据的分布.请帮助.

 x <-  c(37.50,46.79,48.30,46.04,43.40,39.25,38.49,49.51,40.38,36.98,40.00,38.49,37.74,47.92,44.53,44.91,44.91,40.00,41.51,47.92,36.98,43.40)
Run Code Online (Sandbox Code Playgroud)

Kon*_*rad 23

一种简洁的方法将涉及使用 fitdistrplus提供分配拟合工具的包.关于您的数据示例.

library(fitdistrplus)
descdist(x, discrete = FALSE)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

现在您可以尝试适应不同的分布.例如:

normal_dist <- fitdist(x, "norm")
Run Code Online (Sandbox Code Playgroud)

abs随后检查合适:

plot(normal_dist)
Run Code Online (Sandbox Code Playgroud)

配件


作为一般性观点,我建议您在Cross Validated中查看此讨论,其中主题将进行详细讨论.您可能也愿意看看的一篇论文Delignette -穆勒和Dutang - fitdistrplus的:R软件包拟合分布,可在这里如果你有兴趣在如何使用Cullen和Frey图更详细的解释.

  • 关于简历讨论的链接是这个答案的一个非常重要的部分.(1) (3认同)
  • @VanathaiyanS**CF**图是将给定分布的偏斜和峰度与指定分布进行比较.我建议您查看CV,帮助文件和链接文件中的链接讨论.用几个词来概括/过度简化:*对于某些分布,正常情况下,偏斜和峰度只有一个可能的值,因此图上有一个点.对于其他分布,表示可能值的区域.这是非常简化的答案你还应该考虑其他方法,但**CF**图是一个好的开始. (2认同)

tho*_*hal 5

首先,您可以做的是绘制直方图并叠加密度

hist(x, freq = FALSE)
lines(density(x))
Run Code Online (Sandbox Code Playgroud)

然后,您会看到分布是双峰的,它可以是两种分布或任何其他分布的混合。

一旦您确定了候选分布,“qqplot”可以帮助您直观地比较分位数。