Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从R中的两个不同分布生成随机变量_R_Distribution - Fatal编程技术网

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

如何从R中的两个不同分布生成随机变量,r,distribution,R,Distribution,假设一个随机变量Z以相等的概率从两个不同的分布中随机抽取:标准N(0,1)和速率为1的指数exp(1)。我想生成随机变量Z。 在r中,我的方法是:Z=0.5X+0.5Y,因此Z是N(0,1)和exp(1)的联合分布。r代码为: 不幸的是,没有。你需要另一个变量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)

假设一个随机变量Z以相等的概率从两个不同的分布中随机抽取:标准N(0,1)和速率为1的指数exp(1)。我想生成随机变量Z。 在r中,我的方法是:Z=0.5X+0.5Y,因此Z是N(0,1)和exp(1)的联合分布。r代码为:


不幸的是,没有。你需要另一个变量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感谢您的回复。但我很困惑,根据定义,二项分布是一种频率分布,在给定的试验中只有两种可能的结果。如果我们创建一个二项式随机变量,U将是0或1,那么1-U将是1或0,那么z将是正态或指数随机变量。但是为什么我们不能得到正态分布和指数分布的混合分布呢?因为U是0/1,p=0.5,Z是正态分布,p=0.5和指数分布,这正是你想要的。谢谢你的回答!我想我现在明白了。这可能更适合你