いくつかのことを計算し、それを行列に割り当てる関数があります。このマトリックスは、(他のいくつかの現在の値に基づいて) 貼り付けステートメントからその名前を受け取ります。次に、dimnames をマトリックスに割り当てたいのですが、貼り付けた名前を理解させる方法がわかりません。
何が起こっているかは次のとおりです。
function <- someComputations(labs) {
### bunch of computations, leading to X, Y, and Z:
matName <- paste("rhoMat_", X, sep = "") # this yields rhoMat_15 if X equals 15
assign(matName, Y %*% Z)
assign(dimnames(matName), labs) # labs is a list of row labels and column labels
return(matName)
}
これは、最初の assign ステートメントを含めてうまく機能しますが、その後はうまくいきません。eval(parse(text = matNum))、as.name(matNum)、substitute(matNum) など、あらゆる種類のアプローチを試しましたが、役に立ちませんでした。マトリックスの実際の名前がわからないため (matNum が指定されていないため)、名前を関数にハードコードすることはできません。そのため、その文字名 matName に固執しています。matName ではなく、行列 rhoMat_15 の dimname を設定したいことを R に理解させるにはどうすればよいですか?
ありがとう、ピーター