【发布时间】:2016-09-23 17:20:27
【问题描述】:
我已经被这个问题困扰了一段时间,所以我决定写一个问题。
问题:如何生成具有下/上界限并围绕特定均值的随机样本(长度为n)。
观察:分布不需要具体(可以是正常的、测试版等)。
考虑的方法:
- 一种方法是使用
rtnorm函数(package msm) 生成一个在指定范围内具有正态分布的随机数,但它不符合您想要的平均值。 -
我尝试过的第二种方法是这个函数,我在一个我再也找不到的问题中找到了这个函数
rBootstrap <- function(n, mean, sd, lowerBound, upperBound){ range <- upperBound - lowerBound m <- (mean-lowerBound) / range #mapping mean to 0-1 range s <- sd / range #mapping sd to 0-1 range a <- (m^2 - m^3 - m*s^2)/s^2 #calculating alpha for rbeta b <- (m-2*m^2+m^3-s^2+m*s^2)/s^2 #calculating beta for rbeta data <- rbeta(n,a,b) #generating data data <- lowerBound + data * range #remaping to given bounds return(data) }这个函数实际上给出了很好的结果,除非:upperBound > lowerBound + (2* mean - lowerBound)(上限超过了从 lowerBound 到平均值的距离的两倍)。
特别是,我想生成一个长度为 1,800 的随机样本,其值在 50,000 到 250,000 之间,平均值 = 70,000。
【问题讨论】:
-
您希望从哪个分布中生成随机样本?此链接可能会有所帮助:r.789695.n4.nabble.com/…
-
谢谢@Chrisss,我观察到我并不是在寻找特定的分布,尽管我所做的所有研究都是针对正常和测试版的,但我相信这两个中的一个可以给出一个只需观察它们的密度函数形状即可。
-
顺便说一句,你想要什么 sigma?同样,您想要公式 sigma 还是 observable sigma?我还有两个小时的飞行,但是一回来,我会尝试写一些R...
标签: r random statistics probability