Я хочу посмотреть в rcpp, чтобы улучшить скорость моего кода R, не прибегая к беспорядочному С++-коду (у меня был некоторый успех с этим, но он выглядит как код из ада).
Итак, я проверил документацию, предоставленную Rcpp, а также пакет документов, предоставленных на сайте Dirk Eddelbuettel. Я установил и посмотрел на RcppExamples, но (по крайней мере, из его документации) большинство из них относятся к RcppClassic?. Кроме того, я сделал несколько поисковых запросов, но это не приводило к ответам на то, что было похоже на основные вопросы.
- Индексы в Rcpp работают на основе нуля или на основе одного
- Список содержит как
operator()
, так иoperator[]
, но, по-видимому, неoperator[[]]
. Неясно, какой аналогичны[]
и[[]]
в R. - Есть ли какая-либо поддержка факторов в Rcpp (там, кажется, не существует)?
Примечание: на самом деле я нашел некоторые ответы из первого примера в Rcpp-introduction.pdf, но это просто чувствовала себя удачей.
Кроме того, мой stl
очень ржавый, поэтому, если кто-нибудь может предоставить мне простой пример, где каждый элемент списка (например) print
-ed с циклом stl-стиля, это было бы аккуратно.
Если кто-то хочет назвать меня идиотом, чтобы не найти эту информацию: идите и сделайте свой день. Затем сделайте мой и укажите мне на документы, которые мне нужны: -)
В качестве предложений к г-ну Эддельбуэттелю и другим авторам Rcpp (я ожидаю, что некоторые из них прочтут это): иерархии классов и т.д., предоставляемые doxygen, действительно опрятные, когда вы уже загружаетесь в Rcpp, но для beginner (в Rcpp), меня больше интересует список "этот метод в этом классе делает это как эта функция в R", а не "вы можете найти объявление этого оператора в этом заголовочном файле". В конце концов, я понимаю, что одной из целей Rcpp является снижение порога использования С++ в R? Обратите внимание: из того, что я видел и понял, я высоко ценю фактический код Rcpp и уважаю его создателей. Если отсутствие базовой документации является просто результатом "нехватки ресурсов", я бы хотел стать ресурсом (например: работать над "базовой" документацией, как только я сам ее пройду).