【问题标题】:Generate samples from frequency table with fixed values从频率表中生成具有固定值的样本
【发布时间】:2016-01-08 03:06:35
【问题描述】:

我有一个人口 2x2 频率表,具有特定值:20、37、37、20。我需要从这个人口中生成 N 个样本(用于模拟目的)。 我如何在 R 中做到这一点?

【问题讨论】:

  • 因此,如果您的类别标签在第一个维度上是 $A,B$,在第二个维度上是 $c,d$,那么您有 20 个 $Ac$,37 个 $Ad$, 37 个 $Bc$'s 和 20 个 $Bd$'s -- 我说得对吗?您是带替换采样还是不带替换采样?任何边距是固定的吗?
  • 这让我觉得这可能是一个统计问题,而不仅仅是一个编码问题,所以我认为这很可能是 CrossValidated 的主题。但目前我认为这个问题并不明确,因为它缺乏@Glen_b 建议的澄清。
  • 20 个 $Ac$、37 个 $Ad$、37 个 $Bc$ 和 20 个 $Bd$——我说的对吗?是的,这是正确的。带放回抽样,边距不固定。非常感谢您的帮助。
  • 我基本上需要进行蒙特卡罗模拟研究。它与多项分布的模拟有关。

标签: r sampling frequency


【解决方案1】:

试试这个。在示例中,整数表示 2x2 表的单元格 1、2、3 和 4。如您所见,相对频率与 20、37、37、20 表中的频率非常相似。

probs<-c(20, 37, 37, 20)  
N<-1000    #sample size
mysample<-sample(x=c(1,2,3,4), size=N, replace = TRUE, prob = probs/sum(probs))
table(mysample)/N

#Run Again for 100,000 samples
N<-100000
mysample<-sample(x=c(1,2,3,4), size=N, replace = TRUE, prob = probs/sum(probs))
#The relative probabilities should be similar to those in the original table
table(mysample)/N

【讨论】:

  • 非常感谢!但是,我希望在示例表中查看实际值,而不是比例。
  • 然后你可以简单地写,mysample 来查看值。
猜你喜欢
  • 1970-01-01
  • 2012-06-24
  • 2020-03-21
  • 2016-05-14
  • 2017-09-26
  • 2011-08-28
  • 2021-02-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多