【发布时间】:2019-11-23 02:06:28
【问题描述】:
我有一个包含 4 列的 data.frame,其中包含采样权重。
probs <- data.frame(
group=rep(c(1,2,3), each=4),
metric=rep(rep(c("A", "B"), each=2), each=1),
measurement=rep(c("HI", "LO"), 6),
probability=c(0.8,0.2,0.5,0.5,0.7,0.3,0.4,0.6,0.1,0.9,0.05,0.95)
)
probs
group metric measurement probability
1 1 A HI 0.80
2 1 A LO 0.20
3 1 B HI 0.50
4 1 B LO 0.50
5 2 A HI 0.70
6 2 A LO 0.30
7 2 B HI 0.40
8 2 B LO 0.60
9 3 A HI 0.10
10 3 A LO 0.90
11 3 B HI 0.05
12 3 B LO 0.95
我们将其解读为:“在第 1 组中,度量 A 的值为 HI,概率为 0.8,LO 值为概率 0.2。”
我有另一个观察数据框架:
data <- data.frame(
group=sample(c(1,2), size=12, replace=TRUE),
metric=sample(c("A", "B"), replace=TRUE, size=12),
measurement=NA # To be sampled
)
group metric measurement
1 2 B NA
2 2 A NA
3 2 A NA
4 1 A NA
5 2 A NA
6 1 A NA
7 1 A NA
8 2 B NA
9 2 B NA
10 2 B NA
11 1 A NA
12 1 A NA
如何使用probs 中的条件分布对data 中的每一行有效地采样measurement 的值(值HI 和LO)?
【问题讨论】:
-
我想看看有没有其他人有想法。如果没有,我会接受其中之一。