Мой сценарий - я пытаюсь создать функцию, которая принимает отсутствующие переменные и возвращает непропущенную переменную. Вот что у меня сейчас:
#' @description Replace A by B if A is missing (two variables)
miss_replace2<-function(a,b){
xx<-ifelse(is.character(a), a=='', FALSE)
ifelse(is.na(a)|xx, b, a)
}
#' @description Replace A by B if A is missing, and B by C if B is missing (three variables)
miss_replace3<-function(a,b,c){
ifelse(is.na(miss_replace2(a,b)), miss_replace2(b,c), miss_replace2(a,b))
}
Miss_replace3 принимает три аргумента. Но я хочу, чтобы функция получала все аргументы и видела, какой аргумент не пропущен, и возвращала его динамически. Прямо сейчас я передаю аргументы a, b, c, и мое утверждение ifelse жестко запрограммировано для сравнения a против b и b против c. Я хочу знать, возможно ли построить что-то, что может итеративно проверять комбинации всех предоставленных аргументов.
is.na
- это просто пример, но мне нужны функции выше или ниже и т. Д.