Gibt es eine Möglichkeit, ein data.table
-Objekt an C ++ - Funktionen mit Rcpp
und / oder RcppArmadillo
zu übergeben, ohne manuell in data.table
in ein data.frame
zu transformieren? Im folgenden Beispiel schlagen test_rcpp(X2)
und test_arma(X2)
beide mit c++ exception (unknown reason)
fehl.
R-Code
%Vor%C ++ Funktionen
%Vor%Aufbauend auf anderen Antworten, hier ein Beispielcode:
%Vor% So behandelt Matthew das data.table
als data.frame
(auch bekannt als Rcpp::DataFrame
in Rcpp
).
Dies ignoriert vollständig die Interna von data.table
.
Versuchen Sie, data.table
als DataFrame
und nicht als NumericMatrix
zu übergeben. Es ist sowieso ein data.frame
mit der gleichen Struktur, also sollten Sie es nicht konvertieren müssen.
Rcpp befindet sich auf nativen R-Typen, die als SEXP codiert sind. Dies beinhaltet zB data.frame
oder matrix
.
data.table
ist nicht nativ, es ist ein Add-On. Jemand, der das will (Sie?), Muss einen Konverter schreiben oder anderen eine Finanzierung anbieten.
Tags und Links r data.table rcpp