1

我是 R 新手,我正在尝试将观察值表与预期值之一进行比较并计算 chisq。作为我作业的一部分,我需要将预期值表与一组 999 个表进行比较,这些表是我使用观察值的随机排列创建的。我需要计算每个表的 chisq 值(nsim=999),然后绘制所有 chisq 值的直方图以及来自观察数据的实际 chisq。这是我正在使用的数据和代码:

> survival=table(titanic[,c("CLASS","SURVIVED")])
> survival
      SURVIVED
CLASS   no yes
  1st  122 203
  2nd  167 118
  3rd  528 178
  crew 673 212

> expected=expected(survival) #library(epitools)
> expected
      SURVIVED
CLASS        no       yes
  1st  220.0136 104.98637
  2nd  192.9350  92.06497
  3rd  477.9373 228.06270
  crew 599.1140 285.88596

>nsim=999
>random= rep(survival,nsim)

现在我被困住了!

4

1 回答 1

1

生成排列的最简单方法是sample在列上使用命令"SURVIVED"

sample(titanic[,"SURVIVED"])

将洗牌该yes/no列的标签,然后您可以重复 999 次:

replicate(999, {
  permSurvival <- sample(titanic[,"SURVIVED"])
  # Code to measure chi square test goes here
})
于 2013-09-25T01:57:57.607 回答