我想在R中创建R中的数据样本向量,其中我可以控制所选值的范围,所以我想我想使用sample来限制生成的值的范围而不是rnorm-type命令根据分布类型,方差,SD等生成一系列值。
所以我希望用一个指定范围(例如1-5)的样本进行偏斜分布,如下所示:
x=rexp(100,1/10)
这是我所拥有的,但没有提供偏斜的分布:
y=sample(1:5,234, replace=T)
我怎样才能拥有我的蛋糕(限量范围)并且吃掉它(分布偏斜),可以这么说。
由于
答案 0 :(得分:5)
set.seed(3)
hist(sample(1:10, size = 100, replace = TRUE, prob = 10:1))
答案 1 :(得分:1)
要更好地了解样本函数对整数的作用,请使用barplot函数,而不要使用直方图函数:
set.seed(3)
barplot(table(sample(1:10, size = 100, replace = TRUE, prob = 10:1)))
答案 2 :(得分:0)
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))