我正在写一个R函数来解决一个方程。我希望它适用于该等式的所有不同重排。我只需要一个函数,以便我可以用不同的默认值进行别名。编写测试多个条件的R函数的最佳方法是什么?
为了简单起见,假设我要解决A = B/C,这些变量
my_fun <- function(a,b,c) {
if(is.na(a)) {
return(b/c)
} else if(is.na(b)) {
return(a*c)
} else if(is.na(c)) {
return(b/a)
}
}
my_fun(a=NA,b=2,c=4)
> [1] 0.5
my_fun(a=NA,b=c(2,5),c=4)
这显然是错误的方法的给定2。请有人建议一个更好的方法。
该方法有什么问题?当我去学校时,“2/4 = 0.5”是正确的:-o – RHA
我想不出有什么好的情况,你真的想这样做(把争论看作是可以互换的)。 –
@ hong-ooi我想用与不同解决方案相关的不同默认值来替代此函数。你会如何处理这个问题? – whanrott