我有一个函数,可以计算一些东西,然后将其分配给矩阵。该矩阵从粘贴语句接收其名称(基于其他一些当前值)。然后,我想将暗名分配给矩阵,但是不知道如何使粘贴的名字被理解。

这是怎么回事:

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),Alternative(matNum),但无济于事。
由于我不知道矩阵的实际名称(因为未提供matNum),因此我无法将名称硬编码到函数中,因此我只能使用其字符名称matName。如何让R理解要设置矩阵rhoMat_15而不是matName的暗号?

谢谢彼得

最佳答案

dimnames(get(matName)) <- labs

关于r - 在函数中使用“粘贴”名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10771604/

10-09 01:17