I have the following R code:

```
beta <- 3.2
sigma <- 1.2
mu <- beta - tau
integrand <- function(Ti){
r <- Ti*dlnorm(x = Ti, meanlog = mu, sd = sigma)
return(r)
}
tau <- -5:5
quadinf(integrand, 0, Inf)$Q
```

I am trying to calculate the integral as shown in the code using the `quadinf`

function from the `pracma`

package, however, I am getting the following error:

```
Error in if (delta < tol) break : the condition has length > 1
```

In the documentation of the `quadinf`

function it says:

The integrand function needs

notbe vectorized.

So I am assuming that the error could be connected to my integrand function being vectorized? But then how can I make it not vectorized? Or is the problem somewhere else?

### >Solution :

We may use a `for`

loop here as the `tau`

vector is of `length`

greater than 1, and thus the `dlnorm`

returns length > 1

```
out <- numeric(length(tau))
for(i in seq_along(tau)) {
mu <- beta - tau[i]
out[i] <- quadinf(integrand, 0, Inf)$Q
}
```

-output

```
> out
[1] 7480.0892297 2751.7710457 1012.3199945 372.4117139 137.0026132 50.4004448 18.5412875 6.8209585 2.5092904 0.9231163 0.3395955
```