-2
行列のk
行を置き換えるために一時変数を使用することについて質問したいと思います。行列の `k`番目の行をRcppでゼロに置換する
X
の行を0に置き換えたいとします。
X
のコピーを作成しました。Ynew1
と呼ばれ、繰り返しごとにYnew1
の値がX
(最初の値)で更新されます。しかし、私のコードでは、Ynew1
の行が0に置き換えられるだけでなく、X
もあります。残念なことに、結果はYnew1
はすべて行列ゼロです(私は最後の行がゼロの値を持っていると思います)。これはコード:
cppFunction('
NumericMatrix cobo(NumericMatrix X){
int n = X.nrow();
NumericMatrix Ynew1(n,1);
for (int k=0;k<n;k++){
Ynew1 = X;
for(int i=0;i<n;i++){
Ynew1(k,i)=0;
}
}
return(Ynew1);
}
')