如何从R中的两个不同分布生成随机变量

时间:2017-02-01 06:23:30

标签: r distribution

假设随机变量Z是从具有相同概率的两个不同分布中随机获取的:标准N(0,1)和指数exp(1),其中rate = 1。我想生成随机变量Z. 所以在r中,我的方法是:Z = 0.5X + 0.5Y,因此Z来自N(0,1)和exp(1)的联合分布。 r代码将是:

x<-rnorm(1) y<-rexp(1) z<-0.5x+0.5y

我的问题是,我可以通过将x和y与它们的概率相加来获得Z,或者我必须考虑变量之间的相关性吗?

1 个答案:

答案 0 :(得分:2)

不幸的是没有。你需要另一个变量U,它是一个伯努利随机变量,p = 0.5且与X和Y无关。定义Z = U * X +(1-U)* Y.在R中,你可以做到

x<-rnorm(1)
y<-rexp(1)
u<-rbinom(1,1,0.5)
z<-u*x+(1-u)*y

平均X和Y会导致完全不同的分布,而不是您想要的分布混合。