Как взвешивать данные с использованием R для данных dhs о насилии в семье (Кот-д’Ивуар 2011-2012)

#r #survey #weighted

#r #опрос #взвешенный

Вопрос:

Я хотел бы настроить дизайн опроса для DHS Кот-д’Ивуара с использованием R (2011-2012).). Я сосредоточен на насилии в семье.

Я использовал этот код:

 wt <- ipv_studyf$d005/1000000 # creating the variable weight

ipvdesign <- svydesign(ids = ipv_studyf$v021,      # clustering- psu
                        strata = ipv_studyf$v023,   # strata variable
                        weights = wt,               # the weighting variable
                        data = ipv_studyf,          # the dataset
                        variance="HT" )             # Horvitz-Thompson estimator
  

Тем не менее, я продолжаю получать это сообщение об ошибке:

 **Error in na.weight(data.frame(weights)) : missing values in `weights'**
  

Если у кого-нибудь есть идеи о том, как настроить набор данных в R и помочь мне исправить это сообщение об ошибке, я был бы признателен за помощь!

Комментарии:

1. Попробуйте i1 <- !is.na(wt) , затем выполните svydesign(ids = ipv_studyf$v021[i1], strata = ipv_studyf$v023[i1], weights = wt[i1], data = ipv_studyf, variance = "HT")

Ответ №1:

Мы можем создать логический вектор для NA , подмножество данных и применить функцию

  i1 <- !is.na(wt)
 svydesign(ids = ipv_studyf$v021[i1], 
           strata = ipv_studyf$v023[i1], 
           weights = wt[i1], 
           data = ipv_studyf, variance = "HT") 
  

Комментарии:

1. Большое спасибо, @akrun! Он работает хорошо.