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

时间:2019-03-20 08:07:01

标签: r list 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作为字符?

1 个答案:

答案 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)