Есть ли в Rcpp примеры объявлений SEXP? - PullRequest
0 голосов
/ 09 января 2019

Я читал в книге Хэдли Уикхема, что объекты RObject должны быть объявлены как S-выражения (SEXP) в R API C:

SEXP x( SEXP a, SEXP b {
}

Однако в Rcpp кажется, что эта необходимость окончена. Другими словами, функции должны быть объявлены с определенным типом данных, например:

NumericVector x(NumericVector a, NumericVector b) {
 }

Существуют ли примеры, когда объявления SEXP по-прежнему полезны в контексте Rcpp?

1 Ответ

0 голосов
/ 09 января 2019

Да конечно как все переводится в / из SEXP. В некоторых случаях мы предпочитаем оставить SEXP.

Классическим примером является переключение во время выполнения типа (где он показывает List, но вы можете сделать то же самое с одним SEXP). Другими примерами являются конвертеры as<> и wrap().

И ... конечно же, код, по которому пользователи решили сохранить SEXP. Вы можете найти в Rcpp Gallery дополнительные примеры и / или, конечно же, поискать здесь среди почти 2000 вопросов для Rcpp.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...