R上chisq测试的置换数据和随机模拟



我是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)

现在我被困住了!

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

sample(titanic[,"SURVIVED"])

Will 打乱该列的yes/no标签,然后您可以重复 999 次:

replicate(999, {
  permSurvival <- sample(titanic[,"SURVIVED"])
  # Code to measure chi square test goes here
})

最新更新