Я довольно новичок в R. У меня есть фрейм данных с парами переменных допуска и разряда, которые должны совпадать, например:
V1adm V1dis V2adm V2dis V3adm V3dis
1 120 120 yes yes 60 60
2 110 110 yes <NA> 40 40
3 60 NA no <NA> NA NA
4 90 NA <NA> no 20 NA
Я создал фрейм данных с ИСТИНОЙ, если одна из переменных пары отсутствуют:
# Variable names
adm_vars<- c("V1adm", "V2adm", "V3adm")
dis_vars<- c("V1dis", "V2dis", "V3dis")
# Create empty dataframe
pairs_NA<- matrix(NA, ncol=3, nrow=nrow(data))
pairs_NA<- as.data.frame(pairs_NA)
names(pairs_NA)<- paste(adm_vars, dis_vars, sep = '_')
# Add TRUE if adm OR dis variable NA
for(i in 1:3){
x<- data[, adm_vars[i]]
y<- data[, dis_vars[i]]
pairs_NA[,i]<- is.na(x) | is.na(y)
}
V1adm_V1dis V2adm_V2dis V3adm_V3dis
1 FALSE FALSE FALSE
2 FALSE TRUE FALSE
3 TRUE TRUE TRUE
4 TRUE TRUE TRUE
Для строк, в которых отсутствуют все 3, я хотел бы создать фрейм данных, который принимает имя столбца из 'pair_NA' в качестве значения ячейки, если эта пара отсутствует (т.е. столбец ИСТИНА в pair_NA). Это должно выглядеть примерно так:
1 2 3
3 V1adm_V1dis V2adm_V2dis V3adm_V3dis
4 V1adm_V1dis V2adm_V2dis V3adm_V3dis
Есть ли способ, которым я могу назначить имя столбца 'pair_NA' в качестве значения ячейки, если в этом столбце есть 'ИСТИНА' для каждого указанного c строка?