Verwenden eines "eingefügten" Namens in einer Funktion

Ich habe eine Funktion, die einige Dinge berechnet und diese dann einer Matrix zuordnet. Diese Matrix erhält ihren Namen von einer Einfügeanweisung (basierend auf einigen anderen aktuellen Werten). Ich möchte dann die Dimnames der Matrix zuweisen, weiß aber nicht, wie der eingefügte Name verstanden werden soll.

Hier ist was los ist:

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)
}

Dies funktioniert gut, einschließlich der ersten Anweisung assign, und bricht dann zusammen. Ich habe alle Arten von Ansätzen ausprobiert, wie eval (parse (text = matNum)), as.name (matNum), substitute (matNum), aber ohne Erfolg. Da ich den tatsächlichen Namen der Matrix nicht kenne (weil matNum nicht angegeben ist), kann ich den Namen nicht fest in die Funktion einprogrammieren - daher bleibt mir der Zeichenname matName erhalten. Wie kann ich R verständlich machen, dass ich die Dimnamen der Matrix rhoMat_15 anstelle von matName festlegen möchte?

Danke, Peter

Antworten auf die Frage(1)

Ihre Antwort auf die Frage