Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中生成具有偏正态分布的随机数?_R - Fatal编程技术网

如何在R中生成具有偏正态分布的随机数?

如何在R中生成具有偏正态分布的随机数?,r,R,我试图生成1000组130个随机数,这些随机数符合以下数字的偏正态分布: -10.4, -9.3, -6.8, -4.8, -5.7, 5.8, -4.5, -3.4, -2, 0.3, -0.4, -4.1, -6.9, -5.9, -2.5, -2, -2.8, -3.2, -4.4, -2, -1.4, 0.9, -1, -4.1, -11.7, 0.1 这些数字的平均值为-3.99,标准偏差为3.17,偏差为-0.71,峰度为0.22 为了得到1000组130个随机数,我尝试了以下方法

我试图生成1000组130个随机数,这些随机数符合以下数字的偏正态分布:

-10.4, -9.3, -6.8, -4.8, -5.7, 5.8, -4.5, -3.4, -2, 0.3, -0.4, -4.1, -6.9, -5.9, -2.5, -2, -2.8, -3.2, -4.4, -2, -1.4, 0.9, -1, -4.1, -11.7, 0.1
这些数字的平均值为-3.99,标准偏差为3.17,偏差为-0.71,峰度为0.22

为了得到1000组130个随机数,我尝试了以下方法:

install.packages("sn")
library(sn)

p <- rmsn(n = 130, 
          xi = rep(-3.99, 1000), 
          Omega = diag(1000), 
          alpha = rep(-0.71, 1000), 
          tau = -0.71)
install.packages(“sn”)
图书馆(sn)

p使用函数
cp2dp
可以将总体平均值、总体标准偏差和总体偏斜度转换为偏正态分布的参数
xi
omega
alpha

library(sn)
params <- cp2dp(c(-3.99, 3.17, -0.71), "SN")
sims <- replicate(1000, rsn(130, dp = params))
库(sn)

params我认为
rsnorm()
fGarch
包中的最佳选项,但我看不到设置标准偏差或获取多个向量的方法。这是一个潜在的重复吗?这很好,但当倾斜大于1或小于-1时,
cp2dp()
给出此错误:
gamma1超出允许范围
library(sn)
params <- cp2dp(c(-3.99, 3.17, -1.71, 2.37), "ST")
sims <- replicate(1000, rst(130, dp = params))