[R] Vectorizing integrate()
    David Winsemius 
    dwinsemius at comcast.net
       
    Thu Dec  6 19:59:22 CET 2012
    
    
  
On Dec 6, 2012, at 10:10 AM, Doran, Harold wrote:
> I have written a program to solve a particular logistic regression problem using IRLS. In one step, I need to integrate something out of the linear predictor. The way I'm doing it now is within a loop and it is as you would expect slow to process, especially inside an iterative algorithm.
> 
> I'm hoping there is a way this can be vectorized, but I have not found it so far. The portion of code I'd like to vectorize is this
> 
> for(j in 1:nrow(X)){
>  fun <- function(u) 1/ (1 + exp(- (B[1] + B[2] * (x[j] + u)))) * dnorm(u, 0, sd[j])
>                eta[j] <- integrate(fun, -Inf, Inf)$value
> }
> 
The Vectorize function is just a wrapper to mapply. If yoou are able to get that code to execute properly for your un-posted test cases, then why not use mapply?
> Here X is an n x p model matrix for the fixed effects, B is a vector with the estimates of the fixed effects at iteration t, x is a predictor variable in the jth row of X, and sd is a variable corresponding to x[j].
> 
> Is there a way this can be done without looping over the rows of X?
> 
> Thanks,
> Harold
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at 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.
David Winsemius, MD
Alameda, CA, USA
    
    
More information about the R-help
mailing list