我想训练一个模型并命名。我也想使用该名称作为字符来创建带有模型摘要的文本文件。所以我创建了一个如下的函数
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作为字符?
答案 0 :(得分:1)
要将变量名称更改为字符串,可以使用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)