質問

RCPPを試すのはこれが初めてであり、この非常に簡単な問題は私にトラブルを与えることです。ネスト用にネストされたループを使用して、マトリックスの個々の値を一度に1列に操作したいと考えています。私が目指しているスクリプトは次のようになります:

src <- '
    Rcpp::NumericMatrix Am(A);
    int nrows = Am.nrow();
    int ncolumns = Am.ncol();
    for (int i = 0; i < ncolumns; i++){
        for (int j = 1; j < nrows; j++){
            Am[j,i] = Am[j,i] + Am[j-1,i];
        }
    }
    return Am;
'
fun <- cxxfunction(signature(A = "numeric"), body = src, plugin="Rcpp")
fun(matrix(1,4,4))

目的の出力はこれです:

     [,1] [,2] [,3] [,4]
[1,]    1    1    1    1
[2,]    2    2    2    2
[3,]    3    3    3    3
[4,]    4    4    4    4

問題は明らかにこの行にあり、マトリックスの個々の要素を参照する方法がわかりません。

Am[j,i] = Am[j,i] + Am[j-1,i];

これが愚かな初心者の質問である場合はお詫びします。どんなヒントも感謝します!

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top