在 R 中创建具有有限范围的偏态分布的样本向量数据

Create sample vector data in R with a skewed distribution with limited range

我想在 R 中创建 R 中数据的样本向量,我可以在其中控制所选值的范围,所以我想我想使用样本来限制生成的值的范围,而不是 rnorm- type 命令根据分布类型、方差、SD 等生成一系列值。

所以我正在寻找一个具有指定范围(例如 1-5)的样本,用于偏斜分布,如下所示:

x=rexp(100,1/10)

这是我所拥有但未提供偏斜分布的内容:

y=sample(1:5,234, replace=T) 

怎么能有我的蛋糕(范围有限)也能吃(偏斜分布),可以这么说。

谢谢

set.seed(3)
hist(sample(1:10, size = 100, replace = TRUE, prob = 10:1))

为了更好地了解样本函数对整数的作用,请使用条形图函数,而不是直方图函数:

set.seed(3)
barplot(table(sample(1:10, size = 100, replace = TRUE, prob = 10:1)))

beta 分布采用 0 到 1 之间的值。例如,如果您希望值介于 0 到 5 之间,则可以将它们乘以 5。最后,您可以通过 beta 分布获得“偏度”。 例如,对于偏度,你可以得到这三种类型:

并且使用 R 和 beta 分布,您可以获得类似的分布,如下所示。请注意,绿色垂直线表示均值,红色表示中位数:

x= rbeta(10000,5,2)
hist(x, main="Negative or Left Skewness", freq=FALSE)
lines(density(x), col='red', lwd=3)
abline(v = c(mean(x),median(x)),  col=c("green", "red"), lty=c(2,2), lwd=c(3, 3))

x= rbeta(10000,2,5)
hist(x, main="Positive or Right Skewness", freq=FALSE)
lines(density(x), col='red', lwd=3)
abline(v = c(mean(x),median(x)),  col=c("green", "red"), lty=c(2,2), lwd=c(3, 3))

x= rbeta(10000,5,5)
hist(x, main="Symmetrical", freq=FALSE)
lines(density(x), col='red', lwd=3)
abline(v = c(mean(x),median(x)),  col=c("green", "red"), lty=c(2,2), lwd=c(3, 3))