以上帖子In R, how to get an object's name after it is sent to a function?的扩展程序及其受欢迎的重复How to convert variable (object) name into String [duplicate]
这个想法是你有一个参数值列表,例如
parameters <- c(parameter1,parameter2,...)
并且您希望将参数名称(变量)和值写入文件,例如
parameter1: 500
parameter2: 1.2
...
在之前的帖子中,我们看到了这个功能:
getVariablesName <- function(variable) {
substitutedVariable <- substitute(variable);
if (length(substitutedVariable) == 1) {
deparse(substitutedVariable)
} else {
sub("\\(.", "", substitutedVariable[2])
}
}
能够调用传递的变量的“名称”
getVariablesName(foo)
'foo'
但是当变量传递两次时,我们会丢失这些信息,例如
logThis <- function(thingsToLog, inThisFile) {
for (thing in thingsToLog) {
write(paste(getVariablesName(thing),":\t",thing),
file = inThisFile,
append = TRUE)
}
}
想法是通过logThis(c(parameter1,parameter2,...), "/home/file.txt")
那么我们如何保留变量'“names”,因为它们被封装在一个向量中,传递给函数logThis
然后循环通过?