根据以标准正态分布绘制的向量为条件的二项式分布进行绘制

时间:2019-10-01 01:55:36

标签: r simulation distribution

我正在尝试模拟数据生成过程为p(X,Y)= p(X)p(Z | X)的数据,其中二进制Z的分布取决于X的值,该值是从标准正态分布。

X是由下面的代码生成的。

const Box1 = styled.div`
  ...
  ${(p) =>
    p.fill
      ? " "
      : `
      :hover img {
        transform: matrix(1.1, 0, 0, 1.1, 0, 0);
      }
   `}
`;

如何生成以X为条件的向量Y? 我最初的想法是使用X以某种方式生成概率P的向量,然后运行下面的代码,但是这样做没有成功。

X <- rnorm(100, 0, 1)

1 个答案:

答案 0 :(得分:1)

X的范围从-Inf+Inf,因此不能作为二项式分布所需的概率,但是pnorm(X)会给您从0到1的值,然后使用ifelse()语句可将.05以下的值转换为.05,将.95以上的值转换为.95:

X <- rnorm(100)   # 0, 1 are the default values
Xp <- pnorm(X)    # transform to probabilities
Xp <- ifelse(Xp < .05, .05, ifelse(Xp > .95, .95, Xp)) # Bound the results
vals <- rbinom(length(Xp), 1, Xp)  # Your binary values