Как автоматически вставить имя вызываемой переменной в функцию - PullRequest
0 голосов
/ 25 октября 2018

У меня есть функция, которая принимает вызов xm , где xm - модель обученного машинного обучения.Есть ли способ, которым в функции я могу печатать имя xm, а не сводку модели, что происходит при печати (xm)

Например, моя функция генерирует графики, которые я сохраняю вфункция

modsummary <- function(xm){

    mypath <- file.path("C:","Users","Documents",paste("rf_fit_hmeas_random", ".png", sep = ""))

    png(file = mypath)

    print(plot(xm))
    dev.off()
}

modsummary(rf_fit)

Я пытаюсь настроить ее таким образом, чтобы она вставляла xm (в данном случае rf_fit), чтобы она автоматически обнаруживала вызываемую функцию и заменяла xm_hmeas_random каждый раз другимМодель называется.

Спасибо

1 Ответ

0 голосов
/ 25 октября 2018

Да, вы можете использовать deparse(substitute(xm)), чтобы получить это.

Так что это будет ..

modsummary <- function(xm){

    mypath <- file.path("C:/","Users/","Documents/",paste0(deparse(substitute(xm)), "_hmeas_random.png"))

png(file = mypath)

print(plot(xm))
dev.off()
}

modsummary(rf_fit)

Я добавил в косые черты (/) между вашимиимена каталогов и переключаются на использование paste0(), что исключает необходимость указания разделителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...