के रूप में आरसीपीएआरएमडिलो वेक्टर रिटर्न आरसीपीएआरडिलिलो कोल्वेक को मानक आर वेक्टर के रूप में वापस करने के तरीके को समझने में मुझे परेशानी हो रही है। मैं उम्मीद कर रहा था कि मैं as<NumericVector>(wrap()
के माध्यम से टाइपकास्ट कर सकता हूं लेकिन मैं अभी भी आर मैट्रिस वाले ऑब्जेक्ट्स के साथ समाप्त होता हूं। यहाँ दिखाने के लिए मैं क्या कोशिश की है कोड का एक सा (आंशिक रूप से this previous question से प्रेरित) है:आर वेक्टर
// [[Rcpp::export]]
List testthis(NumericVector x) {
arma::colvec y = x;
arma::vec z = x;
return List::create(Rcpp::Named("y1")=y,
Rcpp::Named("y2")=wrap(y),
Rcpp::Named("y3")=as<NumericVector>(wrap(y)),
Rcpp::Named("z1")=z,
Rcpp::Named("z2")=arma::trans(z),
Rcpp::Named("z3")=as<NumericVector>(wrap(z))
);
}
और अगर मैं उत्पादन पर देखने मैं जिसके बाद सभी आर मैट्रिक्स वस्तुओं रहे हैं मिलता है। क्या मैं इसे आर वैक्टर में डाल सकता हूं?
> testthis(c(1:3))
$y1
[,1]
[1,] 1
[2,] 2
[3,] 3
$y2
[,1]
[1,] 1
[2,] 2
[3,] 3
$y3
[,1]
[1,] 1
[2,] 2
[3,] 3
$z1
[,1]
[1,] 1
[2,] 2
[3,] 3
$z2
[,1] [,2] [,3]
[1,] 1 2 3
$z3
[,1]
[1,] 1
[2,] 2
[3,] 3
यह भी अच्छा है - अच्छा। –
दोनों @ nrussell और Dirk के उत्तरों ने मुझे अपने प्रश्न के साथ मदद की। चूंकि वे थोड़ा अलग (लेकिन मान्य) समाधान प्रदान करते हैं, इसलिए मैंने एक सिक्का फिसल दिया है कि किसको उत्तर क्रेडिट प्राप्त करना चाहिए। धन्यवाद दोनों! – ekstroem