Poszukuję uniwersalnego sposobu zmiany wartości argumentu wewnątrz elipsy i przekazania go drugiej funkcjonować. Znam brzydkie rozwiązanie, które, który wygląda tak:R: Zmień wartość argumentu w elipsie i przeprowadź ellipsis do drugiej funkcji bez użycia list() i eval()
test <- function(...) {
a <- list(...)
a[['y']] <- 2
return(eval(parse(text=paste0('identical(',paste(unlist(a),collapse=','),')'))))
}
test(x=1,y=1)
Idealnie chciałbym uniknąć konwersji ... do listy, a następnie za pomocą eval(). Czy można w jakiś sposób odnieść się do argumentu wewnątrz ... po imieniu i zmienić jego wartość?
+1 dla 'do.call (identyczne).'! –
Świetne rozwiązanie! – user1603038