Hello,

I have the following function that receives a "function pointer" formal 
parameter name "fnc":

loocv <- function(data, fnc) {
  n <- length(data.x)
  score <- 0
  for (i in 1:n) {
    x_i <- data.x[-i]
    y_i <- data.y[-i]
    yhat <- fnc(x=x_i,y=y_i)
    score <- score + (y_i - yhat)^2                              
  }
  score <- score/n
  return(score)
}

I would like to use it like this:

##
## Estimator function using Gaussian Kernel
##
gaussiankernel <- function(x,y,h) {
  modelks <- ksmooth(x,y,kernel="normal",bandwidth=h,x.points=x)
  yhat <- modelks$y
  return(yhat)  
} 

scoreks <- loocv(data,gaussiankernel(h=0.5))

I expected this to work but it doesn't :( basically I wanted to take advantage 
of the named parameters so I could pass the partially specified function 
parameter "gaussiankernel" to loocv specifying only the h parameter and then 
let loocv specify the remaining parameters as needed ... can this be tweaked to 
work? The idea is to have loocv generic so it can work for any estimator 
implementation ...

I have more than 6 books now in R and none explains this important concept.

Thanks in advance,
Best regards,
Giovanni 


        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to