2011-05-05 85 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