¿Cómo crear un vector de funciones?

Me gustaría crear un vector de funciones usando una función 'func' de dos agruments, por ejemplo este:

func = function(number, coefficient) {  
     return(coefficient*number)  
}

Así es como creo el vector de funciones:

vector_of_functions = NULL  
for (i in 1:4) {  
     vector_of_functions = c(vector_of_functions, 
                             function(number) func(number=number, coefficient=i))  
}

Mi problema es que todas las funciones que componen mi vector son las mismas, incluso si se han creado utilizando diferentesi a través del bucle. Se ve que son evaluados utilizando el último valor dei (que es una variable global aquí).

Alguien tiene una idea?

Respuestas a la pregunta(1)

Su respuesta a la pregunta