获取 R 中的对象名称作为字符串

alv*_*opr 1 r

我有许多对象想在 R 中绘制并将它们保存到我的目录中。要分配每个图形的名称,我需要能够获取要绘制的对象的名称(作为字符串?)。

一个例子是:

setwd("C:/.../mydirectory/")
myname <- myobjectname(myobject) **I want to obtain the string of "myobject"**
png(paste(myname, ".png", sep=""))
myGraphingFunction(myobject)
dev.off()
Run Code Online (Sandbox Code Playgroud)

我已经尝试过:

myobjectname <- function(v1){
  deparse(substitute(v1))
}
Run Code Online (Sandbox Code Playgroud)

它执行我想做的事情并返回我想要的字符串。然而,当在循环中或在上图情况下使用它时,它不起作用。

我有一个带有参数“month”的函数,它将被“一月”或“二月”等替换。EG 使用该函数时:

myobjectname <- function(month) 
Run Code Online (Sandbox Code Playgroud)

在循环中,虽然变量月份现在是一月(或其他),但我得到的字符串始终是“month”。

总结:

> deparse(substitute(january))
[1] "january"

> month <- january
> deparse(substitute(month))
[1] "month"
Run Code Online (Sandbox Code Playgroud)

关于第二个案例如何返回“一月”有什么提示吗?

谢谢

Rol*_*and 7

我希望我理解正确:

myfun <- function(month) {
  deparse(match.call()$month)
}

january <- 1

myfun(january)
#[1] "january"
Run Code Online (Sandbox Code Playgroud)

关于您的“总结”示例:这是不可能的。

我怀疑你的问题缺乏代表性的例子。你已经最小化太多了。