使用R中的sn包从偏斜正态分布中绘制数据

时间:2017-01-04 19:01:02

标签: r normal-distribution skew sn

我需要描述偏斜正态分布数据的位置,形状和比例,然后使用这些参数从具有相同参数的偏斜正态分布中随机绘制值。在过去,我使用R中的sn包来做到这一点。例如,如果我有一个数据向量v,它遵循偏态正态分布,我会估计位置,使用sn.em函数的形状和比例:

require(sn)
data(ais)
v <- ais$Fe
sn.em(,v)

然后我会使用rsnorm函数从具有相同参数的偏斜正常dsitrub中随机绘制:

rsnorm(100, shape = x, location = y, scale = z)

sn包中不再存在这两种功能。如何使用sn包中的不同功能或不同的pacakge一起执行此操作?

1 个答案:

答案 0 :(得分:3)

在“sn”包中使用sn.mple()函数。例如,您可以使用

cp.est <- sn.mple(y=v,opt.method = "nlminb")$cp 
dp.est <- cp2dp(cp.est,family="SN")
dp.est
       xi     omega     alpha 
20.244158 73.840301  9.142412 

要从SN分布中绘制样本,请在同一个包中使用rsn()函数。例如,

rsn(n=100, xi=20.24, omega=73.84, alpha=9.14)