Итак, я работаю с ENIGH - База данных, которая на испанском означает «Национальное обследование доходов и расходов домохозяйств». Это упражнение, проводимое мексиканским правительством, и, как и большинство подобных обследований, оно работает с весами..
Я пытаюсь рассчитать средний, максимальный и минимальный доход домохозяйства по децилям.Другими словами, что такое доход на каждые 10%, группируя домохозяйства на основе их дохода.Если честно, я не зашел так далеко, но вот что я получил до сих пор:
- Мне нужен мой объект svydesign
- Преобразование этого в таблицу с использованием svytable
- Упорядочить использование desc () для моей переменной дохода
ENIGH_design <-svydesign(id=~upm, strata=~est_dis, weights=~factor_hog, data = ENIGH)
ENIGH_table <- svytable(ing_cor, ENIGH_design)
Вот где это сложно, предположим, у меня есть 100 строк, я не могу взять первые 10 из них, потому что в действительностиПринимая во внимание вес, это может быть 9% или 20% (я просто бросаю цифры) от фактического населения.
Я мог бы использовать cut()
для своей переменной дохода, но я бы забыл о весах, и результаты будут только репрезентативными для выборки, а не для общей численности населения.
Я думаю, что лучший подход будетиспользовать комбинацию:
mutate()
для создания новой переменной base if()
в сочетании с mutate, чтобы определить, на каком дециле каждая строка падает до group_by()
и mean()
для расчета того, к чему я стремлюсь
Таким образом, у меня будет дополнительная переменная, которую я мог бы использовать для вычисления того, что я хочу, с любой другой переменной, которую я желаюк.Но опять же, я не определяю свои группы, так что это практически бесполезно.
Спасибо за чтение.Спасибо за вашу помощь.
База данных доступна: https://www.inegi.org.mx/programas/enigh/nc/2016/default.html#Datos_abiertos
Вот пример того, как выглядит моя БД:
folioviv foliohog ubica_geo est_dis upm factor ing_cor
100587003 1 10010000 2 610 180 22,723
100587004 1 10010000 2 610 180 17,920
100587005 1 10010000 2 610 180 27,506
100587006 1 10010000 2 610 180 56,236
100605201 1 10010000 2 620 178 41,587
100605202 1 10010000 2 620 178 135,437
100605203 1 10010000 2 620 178 62,386
100605205 1 10010000 2 620 178 103,502
100605206 1 10010000 2 620 178 27,323
100606301 1 10010000 3 630 223 68,042
100606302 1 10010000 3 630 223 98,537
100606305 1 10010000 3 630 223 53,237
100606306 1 10010000 3 630 223 132,861
100609801 1 10010000 3 640 232 190,033
100609802 1 10010000 3 640 232 28,654
100609805 1 10010000 3 640 232 74,408
100631401 1 10010000 1 650 171 80,761
100711503 1 10010000 1 770 184 38,640
100711504 1 10010000 1 770 184 81,672
Есть еще много столбцов, но онине нужны для этого упражнения.