Мне не нужны roxygen2 и Rcpp для создания для меня функций R (или, может быть, я?) Для экспортированных функций C++ - есть ли способ tell Rcpp::export
не, чтобы создать их? Я был бы очень доволен только .Call
-в них напрямую.Rcpp :: export - экспортирует только интерфейс C++, а не функции R
Я прошел через Writing R Extensions и Rcpp Attributes и Writing a package that uses Rcpp виньетки, документация roxygen2 и несколько потоков на SO (как here), но я не нашел ничего полезного.
Спасибо, но я всегда думал, что мне нужно «[[Rcpp :: export]], поэтому Rcpp выполняет правильные переводы объектов R на C++.? Могу ли я прямо называть что-то вроде 'NumericVector foo (NumericVectorr x) {return x + 1; } 'using' .Call' без экспорта? – Tim
Вы, кажется, путаете несколько вопросов. Перевод выполняется с помощью кода C++ в пакете, а не с помощью преобразований, выполняемых 'compileAttributes()', когда их щекотал '[[Rcpp :: export]]'. Атрибуты Rcpp в основном просто добавляют много (весьма полезный !!) клей-код, расширяя тот пакет [inline] (https://cran.r-project.org/package=inline). Вы не вынуждены использовать какие-либо из них, но я подозреваю, что эти преимущества заставят вас использовать их - как и для других людей. Может быть, вы можете уточнить свой вопрос. –
И/или просто _look_ в некоторых других пакетах. Сейчас на CRAN их намного больше 900, просто тыкать. У многих есть внутренние вспомогательные функции в C++ без экспортных тегов. –