我有一个计算一些东西然后将其分配给矩阵的函数。该矩阵的名称来自粘贴语句(基于其他一些当前值)。然后我想将 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 卡住了。如何让 R 理解我想设置矩阵 rhoMat_15 的暗名,而不是 matName?
谢谢,彼得