The beauty of trial and error ... if I leave the non x, y parameters i.e. h as global parameters rather than formal parameters for gaussiankernel it works fine basically I don't pass anymore h=0.5 to gaussiankernel but consume it from a global variable. Ugly but works ...
Best regards, Giovanni On Apr 26, 2010, at 1:38 AM, Giovanni Azua wrote: > 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.