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
==========================================================================