আমি সাধারণত একটি সংক্ষিপ্ত আরসিপি ফাংশন নিয়ে কাজ করি যা ইনপুট হিসাবে একটি ম্যাট্রিক্স গ্রহণ করে যেখানে প্রতিটি সারিতে কে সম্ভাব্যতা রয়েছে ১ টি। ফাংশনটি এলোমেলোভাবে প্রতিটি সারির জন্য প্রদত্ত সম্ভাবনার সাথে সামঞ্জস্য রেখে 1 এবং K এর মধ্যে একটি পূর্ণসংখ্যার নমুনা দেয়। এটি ফাংশন:
// [[Rcpp::depends(RcppArmadillo)]]
#include <RcppArmadilloExtensions/sample.h>
using namespace Rcpp;
// [[Rcpp::export]]
IntegerVector sample_matrix(NumericMatrix x, IntegerVector choice_set) {
int n = x.nrow();
IntegerVector result(n);
for ( int i = 0; i < n; ++i ) {
result[i] = RcppArmadillo::sample(choice_set, 1, false, x(i, _))[0];
}
return result;
}
আমি সম্প্রতি আর এবং সমস্ত প্যাকেজ আপডেট করেছি। এখন আমি এই ফাংশনটি আর সংকলন করতে পারি না। কারণটি আমার কাছে পরিষ্কার নয়। চলমান
library(Rcpp)
library(RcppArmadillo)
Rcpp::sourceCpp("sample_matrix.cpp")
নিম্নলিখিত ত্রুটি ছুড়ে:
error: call of overloaded 'sample(Rcpp::IntegerVector&, int, bool, Rcpp::Matrix<14>::Row)' is ambiguous
এটি মূলত আমাকে বলে যে আমার কলটি RcppArmadillo::sample()
অস্পষ্ট। কেউ আমাকে আলোকিত করতে পারে কেন এই ঘটনাটি?