Разница между RInside и Rcpp

Я понимаю, что RInside позволяет программе C++ встраивать код R, а Rcpp позволяет коду R вызывать функции или библиотеку C++.

Есть ли другие различия и общие черты между RInside и Rcpp? Почему у RInside есть пространство имен под названием Rcpp? Всегда ли разработчикам нужны и RInside, и Rcpp для вызова кода R как класса в Cpp?


person SimonInNYC    schedule 03.11.2017    source источник


Ответы (1)


Rcpp:

Пакет Rcpp предоставляет функции R и библиотеку C++, облегчающую интеграцию R и C++.

RIInside:

Пакет RInside предоставляет несколько классов для удобного встраивания R в приложения C++ с использованием Rcpp.

Таким образом, похоже, что Rcpp находится на более низком уровне и обеспечивает связь между двумя языками, а не только от R до C ++, как вы утверждаете, но и связь в обоих направлениях. RInside, с другой стороны, является библиотекой более высокого уровня, созданной поверх Rcpp и ориентированной на простое встраивание R в C++.

person Mark    schedule 03.11.2017
comment
Включен ли Rcpp в RInside? Допустим, я хочу встроить некоторые модули R в свое приложение на C++. Нужно ли мне устанавливать и RInside, и Rcpp? - person SimonInNYC; 03.11.2017
comment
@GTWu, вы устанавливаете через CRAN? Если это так, RCpp является зависимостью от RInside, установите один, и вы получите другой. .. - person Mark; 03.11.2017