используя «вставленное» имя внутри функции
У меня есть функция, которая вычисляет некоторые вещи, а затем назначает это матрице. Эта матрица получает свое имя из оператора вставки (на основе некоторых других текущих значений). Затем я хочу назначить имена матрицы на матрицу, но не знаю, как сделать понятным вставленное имя.
Вот что происходит:
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), замещающий (matNum), но безрезультатно. Поскольку я не знаю фактического имени матрицы (поскольку matNum не указан), я не могу жестко закодировать имя в функцию - поэтому я застрял с именем ее символа matName. Как я могу заставить R понять, что я хочу установить dimname для матрицы rhoMat_15, а не matName?
Спасибо Питер