Я хотел бы поместить объект 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?