繁体   English   中英

如何使用列表名称作为字符

[英]How to use a list name as character

我想训练一个模型并给它一个名字。 我也想使用这个名称作为字符来创建一个带有模型摘要的文本文件。 所以我创建了一个函数如下

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 作为字符?

要将变量名称更改为字符串,可以使用 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM