Я хотел бы сделать итерацию списка в R cpp, но этот код дает сбой R:
Rcpp::cppFunction('List foo(List bc) {
for (List::iterator i = bc.begin(); i != bc.end(); ++i) i[0] = i[1];
return(bc);
}'
)
Если мы возьмем следующее foo(list(a = c(1, 2, 3, 4), b = c(4, 3, 2, 1)))
, R будет cra * sh. Приведенный выше пример является просто фиктивным - замените первый элемент на второй в каждом подсписке (например, мы должны получить c (2, 2, 3, 4) для a
и для b
c (3, 3 , 2, 1)).
Кто-нибудь может помочь? Я действительно новичок в R и R cpp и просто изучаю литературу, но понятия не имею, почему итератор не работает.