Как использовать имя списка в качестве символа - PullRequest
1 голос
/ 20 марта 2019

Я хотел бы обучить модель и дать ей имя.Я хотел бы использовать это имя в качестве символа, чтобы создать текстовый файл со сводкой модели.Поэтому я создал функцию, как показано ниже

C50Training<-function(ModeName,DF_Trai,Form,
                      Str_PathSum){
  library(C50);

  ModeName<-C5.0(formula=Form,data=DF_Trai);
  capture.output(summary(ModeName),file=paste(Str_PathSum,"/Summ",ModeName,".txt",sep=""));
}

В функции я хочу использовать ModeName в качестве символов.Я пытался запустить его, но он не работает.ModelName - список в этом случае.Как я могу использовать ModelName как символ?

1 Ответ

1 голос
/ 20 марта 2019

Чтобы изменить имя переменной на строку, вы можете использовать deparse и подставить следующим образом:

deparse(substitute(ModeName))

Возвращает «ModeName», которое может быть частью вашего пути к файлу.

Я попробовал это.Это работает.

ModeName=c(1,2,3)
f<-function(ModeName){
  print(paste("/Summ",deparse(substitute(ModeName)),".txt",sep=""))
}
f(ModeName)

, и это тоже работает:

ModeName=c(1,2,3)
f<-function(list){
  print(paste("/Summ",deparse(substitute(list)),".txt",sep=""))
}
f(ModeName)
...