我正在尝试创建一个函数,如下所示:
remove_loan_apl <- function(x) {
if((x==0) || (is.NA(x))) {x <- 100000}
return(x)
}
remove_loan_apl <- function(x) {
if((x==0) || (x is NA)) {x <- 100000}
return(x)
}
但它不起作用。申请或缺失值的正确方法是什么? 我希望函数将x的值替换为100000,其中它是0或缺少(NA)
答案 0 :(得分:1)
可能我可以猜到你在做什么。
Pierre Lafortune建议的这个功能
@DataProvider
应该有用。
我认为你要做的是将非na,0和NA的混合值的完整向量传递给x。如果你传递一个完整的向量,这个函数将不起作用,并将返回你的向量。
例如。
remove_loan_apl <- function(x) {
if((x==0) || (is.na(x))) {x <- 100000}
return(x)
}
如果你愿意的话
x=c(1,NA,2,3,NA,4,0,5)
它将按原样返回x向量。
输出:
remove_loan_apl(x)
您必须使用lapply或sapply将函数应用于向量的每个值。
1 NA 2 3 NA 4 0 5
这将根据需要提供输出:
sapply(x,remove_loan_apl)