Я получаю другой ответ в r, чем ответ с сайта, указанного выше. Сначала я дам код SAS с результатами, а затем код r с результатами. Сначала дается код SAS с результатами:
data SummerSchool;
input Gender $ Internship $ Enrollment $ Count @@;
datalines;
boys yes yes 35 boys yes no 29
boys no yes 14 boys no no 27
girls yes yes 32 girls yes no 10
girls no yes 53 girls no no 23
;
proc freq data=SummerSchool order=data;
tables Internship*Enrollment / chisq;
weight Count;
запустить;
Выход
Table
yes no
yes 67 39
no 67 50
Value Prob
Chi-Square 1 0.8189 0.3655
Likelihood Ratio Chi-Square 1 0.8202 0.3651
Continuity Adj. Chi-Square 1 0.5899 0.4425
Mantel-Haenszel Chi-Square 1 0.8153 0.3666
=========================
Теперь я дам код r, используя как пакет весов, так и пакет опроса.
> tt$nnn=as.numeric(tt$count)
> attach(tt)
> tt
sex internship enrollment count nnn
1 boys yes yes 35 35
2 boys no yes 14 14
3 girls yes yes 32 32
4 girls no yes 53 53
5 boys yes no 29 29
6 boys no no 27 27
7 girls yes no 10 10
8 girls no no 23 23
> library(plyr)
> count(tt,c('internship','enrollment'),wt_var='nnn')
internship enrollment freq
1 no no 50
2 no yes 67
3 yes no 39
4 yes yes 67
> library(weights)
> wtd.chi.sq(internship,enrollment,weight=nnn)
Chisq df p.value
0.0293791 1.0000000 0.8639066
> library(survey)
> tt.d=svydesign(ids = ~1, data =tt,weights =tt$nnn)
> svychisq(~internship+enrollment,tt.d)
Pearson's X^2: Rao & Scott adjustment
data: svychisq(~internship + enrollment, tt.d)
F = 0.023599, ndf = 1, ddf = 7, p-value = 0.8822
Результаты 2 r по существу согласуются друг с другом (0,86 и 0,88), но полностью отличаются от результатов SAS (между 0,37 и 0,44). Возможно ли, что SAS дает односторонний результат, а r дает двусторонний результат? Если да, то каковы плюсы и минусы одностороннего и двустороннего результата в этой ситуации?