Usando dnorm con RcppArmadillo
DeR
Estoy tratando de corrersourceCpp
en este archivo:
#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]
using namespace arma;
using namespace Rcpp;
// [[Rcpp::export]]
vec dnormLog(vec x, vec means, vec sds) {
int n = x.size();
vec res(n);
for(int i = 0; i < n; i++) {
res[i] = log(dnorm(x[i], means[i], sds[i]));
}
return res;
}
Veresta respuesta para ver de dónde obtuve la función. Esto arroja el error:
no matching function for call to 'dnorm4'
Cuál es el error exacto que esperaba evitar mediante el uso del bucle, ya que la respuesta mencionada menciona quednorm
solo está vectorizado con respecto a su primer argumento. Me temo que la respuesta es obvia, pero he intentado agregarR::
antes dednorm
, intenté usarNumericVector
en lugar devec
, sin usolog()
Al frente. Sin suerte. Sin embargo, agregandoR::
antes dednorm
produce un error separado:
too few arguments to function call, expected 4, have 3; did you mean '::dnorm4'?
Cual esno arreglado reemplazandodnorm
arriba conR::dnorm4
.