używanie „wklejonej” nazwy w funkcji
Mam funkcję, która oblicza pewne rzeczy, a następnie przypisuje je do macierzy. Ta macierz otrzymuje swoją nazwę od instrukcji wklejania (w oparciu o inne aktualne wartości). Następnie chcę przypisać nazwy do matrycy, ale nie wiem, jak sprawić, by wklejona nazwa była zrozumiała.
Oto co się dzieje:
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)
}
Działa to dobrze, w tym pierwsza instrukcja przypisania, a następnie się psuje. Próbowałem wszystkich rodzajów podejść, takich jak eval (parse (text = matNum)), as.name (matNum), substitute (matNum), ale bezskutecznie. Ponieważ nie znam rzeczywistej nazwy macierzy (ponieważ nie podano matNum), nie mogę wpisać tej nazwy w funkcję - dlatego utknąłem z jej nazwą matName. Jak mogę sprawić, by R zrozumiał, że chcę ustawić nazwy dimerów macierzy rhoMat_15, a nie matName?
Dzięki, Peter