我想將對象的值作爲參數傳遞給函數。強制評估作爲參數傳遞給函數的對象
# This is my object
anObject <- "an_unkown_string"
# I would like to do the equivalent of:
someFunc("an_unkown_string")
# .. by somehow calling on the object containing the string
someFunc(??? (anObject))
例如,下面的示例功能(基於save()
):
someFunc <- function(...) {
names <- as.character(substitute(list(...)))[-1L]
return(names)
}
# Ideally, the output would be:
someFunc(??? (anObject))
[1] "an_unkown_string"
我沒有訪問和修改someFunc
我曾嘗試以下,但沒有成功。
someFunc(Name_of_Object)
someFunc(eval(Name_of_Object))
someFunc(evalq(Name_of_Object))
someFunc(force(Name_of_Object))
someFunc(eval(parse(text=Name_of_Object)))
任何幫助表示讚賞。
天才!謝謝!導致這種解決方案的洞察力(或思考過程)是什麼? –
除此之外,我可能會使用'do.call'太多。 :-)你想用'anObject'的值調用'someFunc()',所以你需要構造一個調用。如果你給'do.call'一個函數和一個參數列表,它用這些參數調用函數。 – GSee