Hi, I am not sure I follow the scalar part of the suggestion. Could you please elaborate it a bit more? Each row has a different value of score for each subject at each time point. Also I simplified the example but there are other terms that change over each row for each subject. Does this mean that loops is the only way to go ?
Thanks again for your help and time. Navin Goyal On Sun, Apr 8, 2012 at 4:03 AM, Berend Hasselman <b...@xs4all.nl> wrote: > > On 08-04-2012, at 08:28, Navin Goyal wrote: > > > Dear R users, > > I am running a loop with the integrate function. I have pasted the code > > below. I am integrating a function from time=0 to the time value in every > > row. > > I have to perform this integration over thousands of rows with different > > parameters in each row. Could someone please suggest if there is an > > efficient/faster/easier way to do this by avoiding the loops ? > > > > Thank you so much for your help and time. > > -- > > Navin Goyal > > > > ##################### > > dose<-10 > > time<-0:5 > > id<-1:5 > > data1<-expand.grid(id,time,dose) > > names(data1)<-c("ID","TIME", "DOSE") > > data1<-data1[order(data1$ID,data1$TIME),] > > > > ed<-data1[!duplicated(data1$ID) , c("ID","DOSE")] > > set.seed(5324123) > > > > for (k in 1:length(ed$ID)) > > { > > ed$base[k]<-100*exp(rnorm(1,0,0.05)) > > ed$drop[k]<-0.2*exp(rnorm(1,0,0.01)) > > ed$frac[k]<-0.5*exp(rnorm(1,0,0.1)) > > } > > Why not > > ed$base <- 100*exp(rnorm(length(ed$ID), 0, 0.05)) > > etc. > > > comb1<-merge(data1[, c("ID","TIME")], ed) > > comb2<-comb1 > > comb2$score<-comb2$base*exp(-comb2$drop*comb2$TIME) > > > > func1<-function(t,cov1,beta1, change,other) > > { > > ifelse(t==0,cov1, cov1*exp(beta1*change+other)) > > } > > AFAICS, cov1, beta1, change and other are scalars. > So when an item of t is == 0 then the function value is cov1 and in all > other cases it is the same scalar and does not depend on t. So func1 is a > step function. You could calculate the integral directly. > > Berend > > -- Navin Goyal [[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.