2011-05-05 81 views
0

我在R,像這樣的結構向量的列表的列表:如何改變的R結構的價值RCPP功能

A=list(); 
for(i in 1:n){ 
    A[[i]]=list 
    for(j in 1:m){ 
    A[[i]][[j]]=rep(0,m); 
    } 
} 

和當我通過A分成RCPP功能,

RcppExport SEXP func(SEXO RA){ 
    Rcpp:: List A(RA) 
    as<Rcpp::IntegerVector>(as<Rcpp::List>(A(i))(j))(n)=2; 
} 

A(i)(j)(n)的值不會改變,仍然爲0,任何人都知道什麼是問題?

感謝 我不能夠改變你先貼RCPP-devel的列表(這是一個好主意)上的A[[i]][[j]][[n]]

回答

1

值。我在那裏回答。

您似乎對正確的語法有一些基本的誤解;我建議你稍微研究一下文檔。此外,RcppExamples軟件包還有一些您想要在此嘗試的內容。

+0

向誰低估了這一點:尼斯沒有評論。該操作是困惑;我們寫了八個獨立的pdf文件加上無數的博客和列表文章 - 我不能也不會在這裏重複這些。 A(i))(j))(n)'是完全錯誤的。 – 2011-05-06 11:20:35

+0

我也列舉了一個例子。這裏可能有一個微妙的事情是,rep(0,m)創建一個* numeric *向量,所以當你做時,數值向量變成一個整數向量,它被修改,然後被丟棄。如果您以的形式進行操作,則代碼「有效」。雖然我不會那樣寫...... – 2011-05-09 09:09:40