Цепочка нескольких условий - PullRequest
0 голосов
/ 06 мая 2019

Мой сценарий - я пытаюсь создать функцию, которая принимает отсутствующие переменные и возвращает непропущенную переменную. Вот что у меня сейчас:

#' @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 - это просто пример, но мне нужны функции выше или ниже и т. Д.

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