первое сообщение на этом форуме, поэтому не стесняйтесь: -)
Я пытаюсь отсортировать фрейм данных, используя Rcpp / dplyr.Основываясь на более раннем посте от Romain - идея состоит в том, чтобы использовать класс OrderVisitor, как описано в этом посте.
упорядочить кадр данных по столбцу в Rcpp
Моя проблемаЯ не могу скомпилировать код MyFunc ниже, как определено в посте выше.
C ++:
enter code here
#include <Rcpp.h>
#include <dplyr.h>
using namespace Rcpp;
using namespace dplyr;
// [[Rcpp::export]]
// [[Rcpp::depends(dplyr)]]
DataFrame myFunc(DataFrame data, CharacterVector names) {
OrderVisitors o(data, names ) ;
IntegerVector index = o.apply() ;
DataFrameVisitors visitors( data ) ;
DataFrame res = visitors.subset(index, "data.frame" ) ;
return res;
}
Сообщение компиляции RStudio:
sessioninfo :: session_info () ─Информация о сессии ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── значение настройки
версия R версия 3.4.1 (2017-06-30) для ОС Windows 7 x64 SP 1
система x86_64, mingw32
ui RStudio
language (EN)
collate English_Соединения.1252
tz Австралия / Сидней
дата 2018-06-13
─ Пакеты ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── пакет * версия даты источник
clisymbols 1.2.0 2017-05-21 CRAN (R 3.4.4) sessioninfo 1.0.0 2017-06-21 CRAN (R 3.4.4) с 2.1.2 2018-03-15 CRAN (R 3.4.4) yaml 2.1.14 2016-11-12 CRAN (R 3.4.1)
Rcpp:: sourceCpp ('C: /temp/test.cpp') c: /RBuildTools/3.4/mingw_64/bin/g++ -I "C: /PROGRA~1/R/R-34~1.1/include" -DNDEBUG -I "C: /PROGRA~1/R/R-34~1.1/library/Rcpp/include" -I "C: /PROGRA~1/R/R-34~1.1/library/dplyr/include" -I "C: /PROGRA~1/R/R-34~1.1/library/BH/include "-I" C: / temp "-I" d: /Compiler/gcc-4.9.3/local330/include "-O2 -Стена -mtune = core2 -c test.cpp -o test.o В файле, включенном в C: /PROGRA~1/R/R-34~1.1/library/dplyr/include/dplyr.h: 4: 0 из test.cpp: 2: C: /PROGRA~1/R/R-34~1.1/library/dplyr/include/dplyr/main.h: 11: 19: фатальная ошибка: plogr.h: Нет такого файла или каталога #include ^ компиляция прекращена.make: *** [test.o] Ошибка 1 Предупреждающее сообщение: выполняется команда 'make -f "C: /PROGRA~1/R/R-34~1.1/etc/x64/Makeconf" -f "C: / PROGRA~ 1 / R / R-34 ~ 1.1 / share / make / winshlib.mk "SHLIB_LDFLAGS = '$ (SHLIB_CXXLDFLAGS)' SHLIB_LD = '$ (SHLIB_CXXLD)' SHLIB =" sourceCpp_2.dll "WIN = 64 TCLBIN = 64 ОБЪЕКТОВ =«test.o» 'имел статус 2 Ошибка в Rcpp :: sourceCpp («C: /temp/test.cpp»): Ошибка 1 при создании общей библиотеки.
, так что я хочу знатьэто:
Есть идеи, как правильно скомпилировать код выше?Любые проблемы с plogr?
Любой другой эффективный способ достижения того же результата, используя Rcpp?
Спасибо.
MSW