#r #dplyr #survey
Вопрос:
Фон:
Я работаю над большим опросом и использую потрясающий survey
пакет, R
чтобы собрать цифры.
Скажем, я хочу оценить взвешенную общую численность населения в разбивке по переменной пола, SEX
. (Переменная закодирована 1 == MALE
и 2 == FEMALE
.) Вот код, который я использую, чтобы (успешно) получить эти цифры:
svytotal(~I(SEX == 1)
~I(SEX == 2) ,
design = mydesign)
Проблема:
«Проблема» — сильное слово для этого, но результат, который я получаю, неизменно дает мне строку для SEX == 1 == TRUE
и SEX == 1 == FALSE
— и то же самое для SEX == 2
. Вывод выглядит примерно так:
total se
I(SEX == 1)FALSE 30903 1106
I(SEX == 1)TRUE 32774 1059
I(SEX == 2)FALSE 32774 1059
I(SEX == 2)TRUE 30903 1106
Как я уже сказал, это не конец света. Но так как я хочу легко передать это в фрейм данных и экспортировать csv для включения непосредственно в него LaTeX
, я бы хотел иметь возможность сортировать форматирование, показывая мне только «TRUE», чтобы я получил что-то вроде этого:
total se
I(SEX == 1)TRUE 32774 1059
I(SEX == 2)TRUE 30903 1106
Есть ли способ сделать это внутри Survey
, или мне придется обрезать вещи, возможно, dplyr
после того, как я сделаю это фреймом данных?
Я пытался просто попросить SEX
(хех), вот так:
svytotal(~SEX,
design = mydesign)
Но это дает только общую сумму по обоим 1
и 2
.
Спасибо!
PS — Я получил префикс «Я» из книги Ламли (автора survey
) на упаковке, но я не знаю, что он делает. Извините за невежество, если в этом нет необходимости.
Комментарии:
1. Ваш код не воспроизводим, но я думаю, что да, вы сможете достичь желаемого после преобразования выходных данных в фрейм данных.
2.
~as.numeric(SEX==1) as.numeric(SEX==2)
?