¿Cómo asignar desde una función que devuelve más de un valor?

Aún intentando ingresar a la lógica R ... ¿cuál es la "mejor" manera de descomprimir (en LHS) los resultados de una función que devuelve múltiples valores?

No puedo hacer esto al parecer:

R> functionReturningTwoValues <- function() { return(c(1, 2)) }
R> functionReturningTwoValues()
[1] 1 2
R> a, b <- functionReturningTwoValues()
Error: unexpected ',' in "a,"
R> c(a, b) <- functionReturningTwoValues()
Error in c(a, b) <- functionReturningTwoValues() : object 'a' not found

¿Debo realmente hacer lo siguiente?

R> r <- functionReturningTwoValues()
R> a <- r[1]; b <- r[2]

o el programador de R escribiría algo más como esto:

R> functionReturningTwoValues <- function() {return(list(first=1, second=2))}
R> r <- functionReturningTwoValues()
R> r$first
[1] 1
R> r$second
[1] 2

--- editado para responder a las preguntas de Shane ---

Realmente no necesito dar nombres a las partes de valor de resultado. Estoy aplicando una función agregada al primer componente y otra al segundo componente (min ymax. si fuera la misma función para ambos componentes, no necesitaría dividirlos).

Respuestas a la pregunta(12)

Su respuesta a la pregunta