значения р в таблице сопряженности с использованием r базы, весов и обследования - PullRequest
0 голосов
/ 17 мая 2018

r Значения p, взвешенные в таблице сопряженности,

http://support.sas.com/documentation/cdl/en/procstat/67528/HTML/default/viewer.htm#procstat_freq_gettingstarted01.htm

Типичный политический опрос содержит одну переменную под названием ВЕС.Целью этого блога является сравнение взвешенных значений p в таблице сопряженности с использованием базы r, пакета весов r и пакета опроса r с использованием чрезвычайно простого набора данных из SAS, приведенного выше.Результаты базового пакета такие же, как результаты в базовых пакетах SAS и SPSS.Однако пакет весов и пакет опроса дают результаты, которые похожи друг на друга, но сильно отличаются от результатов базового пакета.Мне было бы интересно, если бы кто-то объяснил мне, почему эти результаты такие разные.Это может быть ошибка кодирования с моей стороны или разные предположения двух других пакетов.Я был бы заинтересован в предложениях для лучшего подхода для типичных наборов данных из PEW или ANES (Американские национальные исследования выборов),

Сначала я даю код r из базового пакета:

>attach(tt)
> print(tt)
    sex internship enrollment count
1  boys        yes        yes    35
2  boys         no        yes    14
3 girls        yes        yes    32
4 girls         no        yes    53
5  boys        yes         no    29
6  boys         no         no    27
7 girls        yes         no    10
8 girls         no         no    23
> xx=xtabs(count~internship+enrollment,data=tt)
> print(xx)
          enrollment
internship no yes
       no  50  67
       yes 39  67
> chisq.test(xx,correct=F)
        Pearson's Chi-squared test
data:  xx
X-squared = 0.81894, df = 1, p-value = 0.3655
> chisq.test(xx)
        Pearson's Chi-squared test with Yates' continuity correction
data:  xx
X-squared = 0.58989, df = 1, p-value = 0.4425

Эти результаты согласуются с результатами следующего кода для SAS (см. Вышеупомянутую ссылку):

proc freq data=SummerSchool order=data;
   tables Internship*Enrollment / chisq;
   weight Count;
run;

Результаты также согласуются с результатами следующего кода для SPSS 15 и клона SPSS, PSPP:

WEIGHT BY COUNT.
CROSSTABS TABLES=INTERNSHIP BY ENROLLMENT
/STATISTICS=CHISQ.

Однако следующий код из весов и опроса дает разные результаты:

> library(weights)
> wtd.chi.sq(internship,enrollment,weight=count)
    Chisq        df   p.value 
0.0293791 1.0000000 0.8639066 
> library(survey)
> tt.d=svydesign(ids = ~1, data =tt,weights =tt$count)
> 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

Обратите внимание, что значения p для базы r (.365 и .443) весьма отличаются отрезультаты весов и обследования (0,864 и 0,882).Мне было бы интересно, чтобы кто-то объяснил мне причину различий и предложил применимость к типу политических данных, описанных выше.

1 Ответ

0 голосов
/ 18 мая 2018

Когда вы сообщаете о взвешенном тесте хи-квадрат - с моим пакетом weights или пакетом Survey - базовый анализ предполагает, что у вас есть веса, которые пропорциональны вероятности выбора, а не количеству случаев.Это нормальный способ использования данных опроса.Вы можете получить нужные результаты, установив для mean1 значение false в пакете weights.

wtd.chi.sq(internship,enrollment,weight=count, mean1=FALSE)

Chisq        df   p.value 
0.8189423 1.0000000 0.3654896 
...