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

drawing data from a skew normal distribution using the sn package in R

我需要表征数据的偏态正态分布的位置、形状和规模,然后使用这些参数从具有相同参数的偏态正态分布中随机抽取值。过去,我使用 R 中的 sn 包执行此操作。因此,例如,如果我有一个数据向量 v,它遵循偏态正态分布,我会估计位置,使用 sn.em 函数的形状和比例:

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

然后我会使用 rsnorm 函数从具有相同参数的偏正态分布中随机抽取:

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

sn 包中不再存在这两个函数。 我如何使用 sn 包中的不同函数或不同的包裹在一起?

使用 "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)