使用 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)
我需要表征数据的偏态正态分布的位置、形状和规模,然后使用这些参数从具有相同参数的偏态正态分布中随机抽取值。过去,我使用 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)