我是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)
现在我被卡住了!
答案 0 :(得分:1)
生成排列的最简单方法是在sample
列上使用"SURVIVED"
命令:
sample(titanic[,"SURVIVED"])
将对该列的yes/no
标签进行随机播放,然后您可以重复此次999次:
replicate(999, {
permSurvival <- sample(titanic[,"SURVIVED"])
# Code to measure chi square test goes here
})