数据像分布式伽玛一样.

复制数据将是这样的:
a)首先找到分布.真实数据的参数:
fitdist(datag, "gamma", optim.method="Nelder-Mead")
Run Code Online (Sandbox Code Playgroud)
b)使用参数shape,rate,scale来模拟数据:
data <- rgamma(10000, shape=0.6, rate=4.8, scale=1/4.8)
Run Code Online (Sandbox Code Playgroud)
要使用r中的qgamma函数查找分位数,只需:
编辑:
qgamma(c(seq(1,0.1,by=-0.1)), shape=0.6, rate =4.8, scale = 1/4.8, log = FALSE)
Run Code Online (Sandbox Code Playgroud)
我怎样才能找到真实数据的分位数(不用rgamma模拟)?
请注意,分位数r函数返回真实数据(datag)的所需分位数,但正如我所理解的那样假设数据是正态分布的.你可以看到它们显然不是.
quantile(datag, seq(0,1, by=0.1), type=7)
Run Code Online (Sandbox Code Playgroud)
在r中使用什么函数或者如何统计地获得高度偏斜数据的分位数?
另外,这有点意义吗?但仍然没有得到更低的价值!
Fn <- ecdf(datag)
Fn(seq(0.1,1,by=0.1))
Run Code Online (Sandbox Code Playgroud)
在这种情况下,分位数由"q"函数返回qgamma.对于您的数据,眼球整合表明大多数数据位于0.2的左侧,如果我们要求0.8分位数,我们会看到估计分布中80%的数据位于左侧:
qgamma(.8, shape=0.6, rate=4.8)
#[1] 0.20604
Run Code Online (Sandbox Code Playgroud)
似乎同意你所绘制的内容.如果您想要样本中的0.8分位数,那么只需:
quantile(datag, 0.8)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4107 次 |
| 最近记录: |