Using dnorm with RcppArmadillo

VonR, Ich versuche zu rennensourceCpp in dieser Datei:

#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;
}

Sehendiese Antwort um zu sehen, woher ich die Funktion habe. Dies löst den Fehler aus:

no matching function for call to 'dnorm4'

Welche ist der genaue Fehler, den ich mithilfe der Schleife verhindern wollte, da in der angegebenen Antwort angegeben ist, dassdnorm wird nur in Bezug auf das erste Argument vektorisiert. Ich fürchte, die Antwort ist offensichtlich, aber ich habe versucht, @ hinzuzufügR:: Vor demdnorm, versucht mitNumericVector Anstatt vonvec, ohne zu benutzenlog() vor. Kein Glück. Hinzufügen vonR:: Vordnorm erzeugt einen separaten Fehler:

too few arguments to function call, expected 4, have 3; did you mean '::dnorm4'?

Welches istnich behoben durch Ersetzen vondnorm oben mitR::dnorm4.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage