2
參數我試圖做這樣的事情評估字符鏈與R中
add <- function(a, b){a+b}
multipleadd <- "add(add(1,3),add(add(6,5),add(5,7)))"
print(something(multipleadd)) # 27
我如何作出這樣的「東西」,這樣我可以用「multipleadd」作爲自變量的函數的另一個功能。
參數我試圖做這樣的事情評估字符鏈與R中
add <- function(a, b){a+b}
multipleadd <- "add(add(1,3),add(add(6,5),add(5,7)))"
print(something(multipleadd)) # 27
我如何作出這樣的「東西」,這樣我可以用「multipleadd」作爲自變量的函數的另一個功能。
它通常是一個壞主意(即不安全的),以評估仲裁文本字符串,但您可以用eval()
和parse()
print(eval(parse(text=multipleadd)))
# [1] 27
那麼做,感謝一個如此快速和工作的答案。 你會推薦什麼作爲做同樣事情的安全方式?或者,換句話說,如何將帶參數的遞歸(或不)函數傳遞給另一個函數? –
這裏的問題不是函數是遞歸的;問題是你正試圖執行一個字符串。你是如何創建這樣一個字符串的?它來自哪裏? – MrFlick
我不一定要使用一個字符串,我想將一個函數傳遞給另一個函數。將另一個作爲參數的函數會監視並計時執行傳遞給它的函數。然後它會向我發送通知(咆哮或類似,推特,說)。因此,如果我的執行函數看起來像「myFunction(data = mydata,method =」mymethod「等等)」我希望觀察者告訴我myFunction已完成。 –