Я хочу установить для параметра значение по умолчанию NULL
в функции Rcpp
и выполнить некоторые вычисления на основе параметра, если параметр не NULL
. Примером такого кода может быть
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
int test_null(Nullable<DataFrame> p1 = R_NilValue){
if(p1.isNull()){
NumericMatrix T(2,2);
Rcout << T << std::endl;
}
else{
NumericMatrix T(p1.nrow());
Rcout << T << std::endl;
}
return (42);
}
Однако я не могу скомпилировать эту функцию и получаю сообщение об ошибке
error: no member named 'nrow' in 'Rcpp::Nullable<Rcpp::DataFrame_Impl<PreserveStorage> >'
, которое сообщает мне, что нет nrow
, определенного для Nullable DataFrame
. Есть ли другой способ реализовать значение по умолчанию NULL
для параметра (т.е. DataFrame
) в Rcpp
, чтобы я мог вычислить другие свойства (количество или строки, столбцы и c.) Из DataFrame
, если это не NULL
.
Любая помощь будет принята с благодарностью!
Спасибо!
SN248