我的情况是我试图构造一个函数,该函数接受缺失的变量并返回非缺失变量。这是我现在拥有的:
#' @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
只是这里的一个示例,但是我需要高于或低于etc等函数。