Я хотел бы создать эту функцию:
densidad<-function(x){
Epa(x,xis[1])+Epa(x,xis[2])+
Epa(x,xis[3])+Epa(x,xis[4])+
Epa(x,xis[5])
}
Но мне интересно, есть ли способ не записывать все суммы и вместо этого использовать члена семьи apply. Эта функция происходит из этого кода:
# Creemos una función que nos arroje un Kernel de Epanechnikov:
Epa<-function(x,xi,h=0.8){
y <- ifelse(xi-h < x & x < xi+h,
(3/4)*(1-((x-xi)/h)^2)*(1/h),
0)
return(y)
}
# Queremos utilizarla para muchas xi's
aux<-function(xi,Add,Col){
curve(Epa(x,xi=xi),
from=-5,to=5,
lwd=2,
add = Add,col=Col)
}
aux(0,F,"darkblue")
# Usemos una entidad apply nueva. El objetivo será aplicar
# la función anterior a estos puntos:
xis=c(0,0.5,-2.5,1,2)
# Con estos parámetros respectivamente:
Adds=c(F,T,T,T,T)
Cols=rainbow(5)
mapply(aux, # Aplica esta función
# Con los siguientes parámetros para la
xis, # primera entrada.
Adds, # segunda entrada.
Cols) # tercera entrada.
densidad<-function(x){
Epa(x,xis[1])+Epa(x,xis[2])+
Epa(x,xis[3])+Epa(x,xis[4])+
Epa(x,xis[5])
}
curve(densidad(x),from=-5,to=5,lwd=2)
mapply(aux, # Aplica esta función
# Con los siguientes parámetros para la
xis, # primera entrada.
rep(T,5), # segunda entrada.
Cols) # tercera entrada.
Что мне тогда делать?