JC Faria,

Uma opção seria passar a fórmula a ser avaliada dentro do quote() e não como string. Veja

> mF <- function(x=seq(1, 5, by=1),
+                y=seq(0, 10, by=5),
+                z=quote(2 - 0.4*y - 0.5*x + 0.8*sqrt(x))){
+   z <- outer(x, y,
+              function(x, y){
+                x <- x; y <- y
+                eval(z)
+              }
+              )
+   z
+ }
> mF()
         [,1]       [,2]      [,3]
[1,] 2.300000  0.3000000 -1.700000
[2,] 2.131371  0.1313708 -1.868629
[3,] 1.885641 -0.1143594 -2.114359
[4,] 1.600000 -0.4000000 -2.400000
[5,] 1.288854 -0.7111456 -2.711146
>

Para usar a string
teriamos que arrumar um jeito de converter string (entrada) para language (saída do quote()).

À disposição.
Walmes.

==========================================================================
Walmes Marques Zeviani
LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)
Departamento de Estatística - Universidade Federal do Paraná
fone: (+55) 41 3361 3573
VoIP: (3361 3600) 1053 1173
e-mail: walmes@ufpr.br
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
==========================================================================