我有两个多项式变量(例如年龄组和肤色)。
ageGroup <- c(35,40,45,50)
color <- c("Red", "Blue", "Yellow")
我希望能够以相同的概率为100个观测值绘制这两个变量。
n = 100
age <- sample(ageGroup, 100, replace = T)
color <- sample(color, 100, replace = T)
如果我们假设某些观察到的频率表显示35岁和40岁也不能是“红色”,那么我该如何采样这两个年龄组在哪些地方有相同的可能性绘制“蓝色”和“黄色”(而不是“红色”)?
我应该将抽样分成不同的年龄段吗?还是有一种更复杂的统计方法?
谢谢!
答案 0 :(得分:2)
这是一种方法。我不确定它是否满足您的“均等概率”要求。我设置的方式是,color-ageGroup的每个“允许”组合都将以相同的概率绘制。
# sample data
ageGroup <- c(35,40,45,50)
color <- c("Red", "Blue", "Yellow")
# get all combinations of ageGroup and color
df <- expand.grid(ageGroup, color)
names(df) <- c("ageGroup", "color")
# remove red-35 and red-40
subdf <- df[!(df$color=="Red" & df$ageGroup %in% c(35, 40)), ]
# sample from the remaining combinations, each with equal probability
N <- nrow(subdf)
result <- subdf[sample(1:N, 100, T), ]