【发布时间】:2018-11-24 10:19:55
【问题描述】:
我有如下的原始 R 代码。
Bernoulli <- rbinom(1000, 1, 0.5)
mix.sample <- rep(0, 1000) #reserve storage
for (i in 1:1000) { #for each Bernoulli realization
if (Bernoulli[i] == 1){ #sample corresponding normal component
mix.sample[i] <- rnorm(1, mean=10, sd=1)
}
else {
mix.sample[i] <- rnorm(1, mean=0, sd=1)
}
}
plot(density(mix.sample))
我尝试了以下代码而不是 for 循环,但生成的结果似乎有问题,有人可以帮我吗?
Bernorm <- ifelse(Bernoulli == 1, rnorm(1, mean=10, sd=1), rnorm(1, mean=0, sd=1))
【问题讨论】:
标签: r for-loop if-statement