我有一个函数可以计算一些东西,然后将其分配给一个矩阵。该矩阵从粘贴语句接收其名称(基于一些其他当前值)。然后我想将暗名称分配给矩阵,但不知道如何使粘贴的名称被理解。
这是正在发生的事情:
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)
}
这工作得很好,包括第一个赋值语句,然后它就崩溃了。
我尝试过各种方法,例如 eval(parse(text = matNum))、as.name(matNum)、substitute(matNum),但无济于事。
由于我不知道矩阵的实际名称(因为未给出 matNum),因此我无法将名称硬编码到函数中 - 所以我只能使用它的字符名称 matName。如何让 R 理解我想要设置矩阵 rhoMat_15 的暗名称,而不是 matName 的暗名称?
谢谢,彼得
dimnames(get(matName)) <- labs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)