我试图进行分析,试图根据三个不同的属性创建两个相似的样本。我想先创建这些样本,然后进行分析以查看这两个样本中哪个更好。类别变量为sales_group,age_group和国家/地区。因此,我想制作两个样本,例如两个样本中的国家/地区比例,年龄和销售情况相似。
例如:样本A和B中包含以下变量: ID国家/地区年龄销售
国家/地区在样本A中的比例为:
美国-58% 英国-22% 印度-8% 法国-6% 德国-6%
样本B中的国家/地区比例为: 印度-42% 英国-36% 美国-12% 法国-3% 德国-5%
其他分类变量也是如此:age_group和sales_group
预先感谢帮助
答案 0 :(得分:0)
您不需要建立特殊的抽样程序,因为一个抽样比例是人口比例的无偏估计。假设您有> 1000个观测值,并且您要采样的样本超过了30个样本,那么估计值将非常准确(中心极限定理)。 您可以在下面的模拟中看到它:
set.seed(123)
n <- 10000 # Amount of rows in the source data frame
df <- data.frame(sales_group = sample(LETTERS[1:4], n, replace = TRUE),
age_group = sample(c("old", "young"), n, replace = TRUE),
country = sample(c("USA", "UK", "India", "France", "Germany"), n, replace = TRUE),
amount = abs(100 * rnorm(n)))
s <- 100 # Amount of sampled rows
sampleA <- df[sample(nrow(df), s), ]
sampleB <- df[sample(nrow(df), s), ]
table(sampleA$sales_group)
# A B C D
# 23 22 32 23
table(sampleB$sales_group)
# A B C D
# 25 22 28 25
免责声明:但是,如果您所占比例很小或非常大且样本太少,则需要使用一些高级程序,例如Laplace smoothing