Hi,

I'm writing some R code that requires a massive amount of looping and would
ideally like to write it so that it avoid the use of "for" loop ... however I'm
having some trouble.

Very briefly, the basic idea is to implement a binary partitioning algorithm to
determine the optimal cutpoint based on deviance measures obtained from
likelihood estiamtes.  This is in the geo-spatial context so I'm actually using
the geoRglm package to obtain this likelihood fit.  I initially use the "variog"
function to help specify the initial parameter values passed to "likfit" to
ensure convergence.

Although not the most elegant solution, the code works ... I just want to
re-code it to avoid using the "for" loop.

Any help would be greatly appreciated.

This is what I've got ....


RootDev <- 600
splits <- NULL

for (cutpoint in cutpoints) {
   LRGdata <- split(gdata, gdata[,4] <= cutpoint)
   vgrmL <- variog(as.geodata(LRGdata$"TRUE"), covar.col=covcol)) 
   vgrmR <- variog(as.geodata(LRGdata$"FALSE"), covar.col=covcol)) 
   mlL<- likfit(as.geodata(LRGdata$"TRUE"),
        ini=expand.grid(seq(0, max(vgrmL$v), l=10), seq(0,max(vgrmL$u), l=10)))
   mlR<- likfit(as.geodata(LRGdata$"FALSE"),
        ini=expand.grid(seq(0, max(vgrmR$v), l=10), seq(0,max(vgrmR$u), l=10)))
   LeftDev <- summary(mlL)[[8]]$log.L
   RightDev <- summary(mlR)[[8]]$log.L
   LeftN <- dim(LRGdata$"TRUE")[1] 
   RightN <- dim(LRGdata$"FALSE")[1] 
   splits <- rbind(splits, c(paste("<=",cutpoint),paste(">",cutpoint),
        LeftN, RightN, RootDev, LeftDev, RightDev,
        -2*(RootDev-(LeftDev+RightDev))))
}


- Mohamed

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to