7
Üç noktadaki bir argümanın değerini değiştirmek ve diğerine aktarmak için evrensel bir yol arıyorum. işlevi. Şöyle bunun için çirkin bir çözüm, biliyorum:R: Ellipsis'te bir argümanın değerini değiştirin ve listeyi() ve eval() kullanmadan diğer fonksiyona üç noktadan geçiş yapın()
test <- function(...) {
a <- list(...)
a[['y']] <- 2
return(eval(parse(text=paste0('identical(',paste(unlist(a),collapse=','),')'))))
}
test(x=1,y=1)
İdeal dönüştürerek önlemek istiyorum ... bir listeye ve ardından() eval kullanarak. Bir şekilde bir argümana başvurmak mümkün müdür?
+1 'do.call için': Burada çirkin, gerçekten biraz,
do.call(identical, a)
basitleştiirlebilir son çizgi, bir! –Harika çözüm! – user1603038