0
我試圖varable表達傳遞給lazyeval函數的參數:參數爲懶惰的評價
test <- function(expr){
tmp <- iris[eval(substitute(expr), iris), ]
#actually do and return complicated stuff with tmp
return(data.frame(n = nrow(tmp), sepal.length = mean(tmp$Sepal.Length)))
}
test.species <- function(species){
return(test(Species == substitute(species)))
}
#usage:
test.species("virginica")
功能測試工作得很好。但爲什麼test.species不工作?
謝謝!這工作完美。正如我剛剛發現的那樣,eval(替代品(Species ==。(species)))也會起作用。 bquote和替代品在這裏有什麼區別嗎? –
請記住,非標準的評估可以很好,但通常更好地堅持標準評估(例如,更容易調試)。 – Roland
@恆瑞江你把那個放在哪裏?它不應該工作。 – Roland