&引用;或;操作员在R中未按预期工作
我正在尝试创建一个函数,如下所示:&引用;或;操作员在R中未按预期工作,r,if-statement,logical-operators,R,If Statement,Logical Operators,我正在尝试创建一个函数,如下所示: 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) } remove\u loan\u apl也许我能猜到你在做什么 这是皮埃尔·拉福琼
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)
}
remove\u loan\u apl也许我能猜到你在做什么
这是皮埃尔·拉福琼建议的功能
remove_loan_apl <- function(x) {
if((x==0) || (is.na(x))) {x <- 100000}
return(x)
}
如果你愿意
remove_loan_apl(x)
它将按原样返回x向量
输出:
1 NA 2 3 NA 4 0 5
你必须用lapply或sapply将你的函数应用于向量的每一个值
sapply(x,remove_loan_apl)
这将提供所需的输出:
1 100000 2 3 100000 4 100000 5
你错过了一个终点站。记住关闭if语句。函数是区分大小写的。is.NA
不是R函数。抱歉,不平衡的括号是错误的。我也试过这样做:如果(x==0 | | | is.NA(x)){x正如@pierrelaffortune所说,is.NA
不是R函数。这应该也能用。mapply(remove | loan | u apl,x)
1 100000 2 3 100000 4 100000 5