Я хочу создать функцию с некоторыми условиями. Если эти условия ИСТИНА, то они будут использованы для дальнейшего выполнения. Но моя проблема в том, что R не находит, что даже это ИСТИНА. Ниже приведен мой код R:
require(KernSmooth)
require(kerdiest)
mini<-function(y,k,h1=TRUE, h2=TRUE, h3=TRUE,type){
n <- length(y)
x <- seq(min(y) + 0.05, max(y), length = k)
if(h1==TRUE){
h1 <- abs(dpik(y) )
} else { print("DPI is not selected")
}
if(h2==TRUE){
h2<-abs(ALbw(vec_data=y))
} else { print("AL is not selected")
}
if(h3==TRUE){
h3 <-abs(1.06*sd(y)*(n^(-1/5)))
} else { print("NSR is not selected")
}
ftrue<-switch(type,
Exp = dexp(x,(1/mean(x))),
Gamma = dgamma(x,(mean(x)/(var(x)/mean(x))),(var(x)/mean(x)))
)
dpi<-h1-sum(ftrue)
AL<-h2*3
nsr<-h3*4
v<-c("DPI"=dpi, "Altaman"=AL, "NSR"=nsr)
v[which.min(v)]
}#function end
y<-rexp(100,1)
mini(y,200,h1,h2,h3,"exp")
, но есть ошибка:
Error in mini(y, 200, h1, h2, h3, "exp") : object 'h1' not found
Я получаю какие-либо подсказки, в чем здесь моя ошибка. Пожалуйста, помогите мне в этой проблеме.