【发布时间】:2020-07-08 14:37:58
【问题描述】:
我想为 data.frame 中的每一行生成一个从 1 到 4 的随机数 u。但是,每条线的概率不同,这些概率存储在变量 p00、p10、p01、p11 中。这意味着 1 的概率是 p00,2 p01 等。我的 data.frame 中有 406611 行。 data01 包含变量 p00、p10、p01、p11。
我正在做以下事情
data02 <- data01 %>%
mutate (u = sample(x=c(1:4), size=406611, replace = T, prob=c(p00, p10, p01, p11))
但是我收到以下错误:
Error in sample.int(length(x), size, replace, prob) :
incorrect number of probabilities.
如果我这样做(只是为了尝试),我不会收到任何错误:
data02 <- data01 %>%
mutate (u = sample(x=c(1:4), size=406611, replace = T, prob=c(0.25, 0.25, 0.25, 0.25))
为什么这不起作用?如何生成数字?
【问题讨论】: