Создание скорости отклика от нескольких переменных по файлам в R - PullRequest
0 голосов
/ 07 апреля 2020

Я написал приведенный ниже код для создания набора данных из нескольких файлов dta, который определяет, сколько раз домохозяйству задавали вопрос и сколько раз они не отвечали. У меня возникли некоторые трудности с автоматическим созданием скорости отклика (NA / количество). Кто-нибудь может мне помочь?

df_counts_NAs <- list.files(path=mydirectory, pattern=".*dta") %>%
  map(~{
    read_dta(.x) %>%
      group_by(hh_ID) %>%
      summarize_all(.funs = list(count = ~n(), NAs = ~sum(is.na(.))))
  }) %>%
  reduce(full_join)

Вот два примера наборов данных, представляющих несколько файлов DTA.

hh_ID <- c(1,1,2,2,2) 
question1 <- c(NA,1,0,0,0) 
question2 <- c(1,1,NA,0,0) 
df1 <- data.frame(hh_ID, question1, question2)  
hh_ID <- c(1,1,1,2,2) 
question3 <- c(NA,NA,0,0,0) 
question4 <- c(1,1,1,NA,NA) 
df2 <- data.frame(hh_ID, question3, question4)

Мои текущие данные выглядят так:

hh_ID <- c(1,2)
question1_count <- c(2,3) 
question1_NAs   <- c(1,0) 
question2_count <- c(2,3) 
question2_NAs   <- c(0,1) 
question3_count <- c(3,2)
question3_NAs   <- c(2,0) 
question4_count <- c(3,2) 
question4_NAs <- c(0,2) 
finaldf <- data.frame(hh_ID,
                      question1_count,
                      question1_NAs,
                      question2_count,
                      question2_NAs,
                      question3_count,
                      question3_NAs, 
                      question4_count,
                      question4_NAs) 

Однако мне нужно, чтобы столбцы выглядели так:

hh_ID question1_response_rate question2_response_rate etc.

Любой совет будет принят с благодарностью.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...