2017-01-31 11 views
0

Мне не нужны 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), но я не нашел ничего полезного.

ответ

2

Если я правильно понял ваш вопрос, то это так же просто «хорошо, если вы не хотите, чтобы была создана функция заглушки, не помещайте там тег [[Rcpp::export]]».

Вы также путаете то, что roxygen2 делает для документации с тем, что делает функция compileAttributes() для экспорта.

Чтобы быть простым, только последний имеет какое-либо отношение к созданию интерфейсов между R и C++. А на полях вы do хотите их для бесплатной обработки исключений и настройки RNG, которые они вам дают. Но эй, если бы вы предпочли обойтись, вы можете, и это документально.

+0

Спасибо, но я всегда думал, что мне нужно «[[Rcpp :: export]], поэтому Rcpp выполняет правильные переводы объектов R на C++.? Могу ли я прямо называть что-то вроде 'NumericVector foo (NumericVectorr x) {return x + 1; } 'using' .Call' без экспорта? – Tim

+0

Вы, кажется, путаете несколько вопросов. Перевод выполняется с помощью кода C++ в пакете, а не с помощью преобразований, выполняемых 'compileAttributes()', когда их щекотал '[[Rcpp :: export]]'. Атрибуты Rcpp в основном просто добавляют много (весьма полезный !!) клей-код, расширяя тот пакет [inline] (https://cran.r-project.org/package=inline). Вы не вынуждены использовать какие-либо из них, но я подозреваю, что эти преимущества заставят вас использовать их - как и для других людей. Может быть, вы можете уточнить свой вопрос. –

+0

И/или просто _look_ в некоторых других пакетах. Сейчас на CRAN их намного больше 900, просто тыкать. У многих есть внутренние вспомогательные функции в C++ без экспортных тегов. –

 Смежные вопросы

  • Нет связанных вопросов^_^