我构造了这个函数,但R给了我错误。但我不知道我做错了什么。
Error: unexpected '}' in "}"
Vect_fun=function(x,a) {
if(a=1)
{
y= mean(x,na.rm=TRUE)
}
else{
if(a=2)
{
y= na.aggregate(x)
}
else {
y=x[!is.na(x)]
}
}
y
}
答案 0 :(得分:0)
使用双等号进行比较。
Vect_fun = function(x, a) {
if (a == 1) {
y = mean(x, na.rm = TRUE)
}
else {
if (a == 2) {
y = na.aggregate(x)
}
else {
y = x[!is.na(x)]
}
}
y
}
答案 1 :(得分:0)
除了需要使用正确的==
运算符和else if
您应该在每个级别缩进,以便更容易阅读,并且您需要将==
用于逻辑运算符。此外,else{ if(){ }}
很混乱。使用else if{ }
Vect_fun <- function(x,a) {
if (a == 1) {
y = mean(x, na.rm = TRUE)
} else if (a == 2) {
y = na.aggregate(x)
return(y)
} else {
y = x[!is.na(x)]
}
return(y)
}