Jak przekazać wektor do integracji funkcji

Chcę zintegrować funkcjęfun_integrate który ma wektorvec jako parametr wejściowy:

fun_integrate <- function(x, vec) { 
  y <- sum(x > vec)
  dnorm(x) + y
}

#Works like a charm
fun_integrate(0, rnorm(100))

integrate(fun_integrate, upper = 3, lower = -3, vec = rnorm(100))
300.9973 with absolute error < 9.3e-07
Warning message:
  In x > vec :
  longer object length is not a multiple of shorter object length

O ile widzę, problem jest następujący:integrate&nbsp;połączeniafun_integrate&nbsp;dla wektorax&nbsp;że oblicza na podstawieupper&nbsp;ilower. To wektoryzowane wywołanie wydaje się nie działać z innym wektorem przekazywanym jako dodatkowy argument. Chcę tegointegrate&nbsp;połączeniafun_integrate&nbsp;dla każdegox&nbsp;że oblicza wewnętrznie i porównuje ten singielx&nbsp;do wektoravec&nbsp;i jestem pewien, że mój powyższy kod tego nie robi.

Wiem, że mogłem samodzielnie wdrożyć procedurę integracji, tj. Obliczyć węzły międzylower&nbsp;iupper&nbsp;i oceniaj funkcję na każdym węźle oddzielnie. Ale to nie byłoby moim preferowanym rozwiązaniem.

Zauważ też, że sprawdziłemVectorize, ale wydaje się, że dotyczy to innego problemu, mianowicie, że funkcja nie akceptuje wektorax. Mój problem polega na tym, że chcę dodatkowego wektora jako argumentu.