sunny0 wrote > I'd like to integrate vectors 't' and 'w' for log(w)/(1-t)^2 where i can > vary the upper limit of the integral to change with each value of 't' and > 'w', and then put the output into another vector. > > So, something like this... > > w=c(.33,.34,.56) > t=c(.2,.5,.1) > k-c(.3,.4,.5) > > integrand <- function(t) {log(w)/(1-t)^2} > integrate(integrand, lower = 0, upper = k) > > or maybe... > > integrand <- function(tt) {tt} > integrate(integrand, lower = 0, upper = k) > > ... with sapply or something similar to create the output vector. How can > this be done?
Something like this? w=c(.33,.34,.56) t=c(.2,.5,.1) k=c(.3,.4,.5) integrand <- function(t) {log(w)/(1-t)^2} out <- sapply(k,function(x) integrate(integrand, lower = 0, upper = x , subdivisions=1000)) # Output [,1] [,2] [,3] value -0.4017303 -0.6249136 -0.9373696 abs.error 2.798235e-05 9.17413e-05 9.209191e-05 subdivisions 32 208 91 message "OK" "OK" "OK" call Expression Expression Expression HTH Pete -- View this message in context: http://r.789695.n4.nabble.com/Integrate-with-vectors-and-varying-upper-limit-tp4662338p4662341.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.