我在一个非常基本的问题上遇到了一些问题。我试图找到任何有相同问题但找不到的线程。
我试图弄清楚如何根据我为每个观察生成的概率(z )生成伯努利变量( y )。我生成了下面的虚构数据集来代表我的问题。
x <- c("A", "B", "C", "D", "E", "F")
z <- c(0.11, 0.23, 0.25, 0.06, 0.1, 0.032)
df <- data.frame(x, z)
我想添加变量y,它是基于变量z的概率的二进制变量。
我尝试了以下方法:
df <- df %>%
mutate(y = rbinom(1,1,z))
但似乎它为所有观察赋予了相同的价值,而不是基于观察自身的概率。
有谁知道如何解决这个问题?
谢谢!