Подмножество Rcpp NumericVector с переменной Datetime - PullRequest
0 голосов
/ 19 сентября 2019

Я хотел бы поместить объект xts в определенный интервал дат, а затем выполнить некоторые вычисления.R не может справиться с моей проблемой, поэтому я решил попробовать Rcpp.

Я новичок в C ++ и учусь по ходу дела.Но я хочу сделать что-то, эквивалентное

     Y <- X['2017-01-01::2019-01-01']

     computations on Y

     proceed to next range of dates

. На данный момент я могу извлекать даты только из объекта xts в Rcpp, следуя странице примеров Rcpp:

DatetimeVector I = NumericVector(X.attr("index"));

Но ни одна из моих попыток подмножества не сработала:

Y[wrap(as<Datetime>(I[0]))];

или

Y[wrap(as<int>)(I[0]))];

У вас, ребята, есть место, где я могу научиться делать это правильно, или знаете, как правильноспособ выполнить это подмножество?

РЕДАКТИРОВАТЬ

Как уже упоминалось в комментариях, я мог бы использовать пакет data.table.Но даже в этом случае вычисления все еще работают медленно.Я делаю следующее

# Vector of beginning dates: in1;
# Vector of ending dates: in2;

Answer <- list()
for(i in 1:length(in1)){
  Answer[[i]] <- Rt[I>=in1[i] & I<=in2[i], lapply(.SD, rcpp_Functions), .SDcols = 2:ncol(Rt)]
}

Итак, возникают вопросы: Является ли это наиболее эффективным способом при использовании data.table?Есть ли способ поместить это вычисление в Rcpp?

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