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