Jestem zaintrygowany.Jak uzyskać dostęp do elementów wektora w Rcpp :: List
Poniższy skompilować i działa prawidłowo:
#include <Rcpp.h>
using namespace Rcpp;
// [[Rcpp::export]]
List test(){
List l;
IntegerVector v(5, NA_INTEGER);
l.push_back(v);
return l;
}
w R:
R) test()
[[1]]
[1] NA NA NA NA NA
Ale gdy próbuję ustawić IntegerVector
w liście:
// [[Rcpp::export]]
List test(){
List l;
IntegerVector v(5, NA_INTEGER);
l.push_back(v);
l[0][1] = 1;
return l;
}
to nie kompilacja:
test.cpp:121:8: error: invalid use of incomplete type 'struct SEXPREC'
C:/PROGRA~1/R/R-30~1.0/include/Rinternals.h:393:16: error: forward declaration of 'struct SEXPREC'
Parfait! bardzo dziękuję za odpowiedź ! – statquant
Jeszcze jedno pytanie Romain, czy mogę utworzyć '' Rcpp :: List' zawierającą 'n' (powiedzmy 3)' std :: vector 'lub' Rcpp :: IntegerVector' z jedną linią (może być 'ctor'), np. 'IntegerVector v (3, NA_INTEGER); Rcpp :: List test (3, v) ' –
statquant
Przeznaczony jest do pracy:' Lista l (3, IntegerVector (3, NA_INTEGER)) ', ale w jednym z naszych plików występuje literówka (' fill__dispatch' jest napisane jako 'fill_dispatch' (jeden podkreślenie)), więc nie powiedzie się. Naprawiłem to lokalnie i wkrótce zatwierdzę poprawkę. –