应该是,
u<-runif(1)
x<- ifelse(u<0.4,rnorm(1,1,sqrt(0.5)),rnorm(1,3,sqrt(2)))才对。
顺便画一下这个分布的密度图,是双峰的(可惜,粘不过来啊):
> x=numeric()
> for(i in 1:100){
+ r=runif(1)
+ x=ifelse(r<.4,rnorm(1,1,sqrt(.5)),rnorm(1,3,sqrt(2)))
+ }
> x[1:10]
[1] 3.022763 1.957792 4.262181 4.385198 3.152192 2.354907 4.813142 1.008566
[9] 1.359688 2.385755
> plot(density(x))
>