如何在R中生成具有偏正态分布的随机数?
我试图生成1000组130个随机数,这些随机数符合以下数字的偏正态分布:如何在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个随机数,我尝试了以下方法
-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))