De: Paulo Justiniano <paulojus@leg.ufpr.br>
Para: R Brasil <r-br@listas.c3sl.ufpr.br>; Ivan Bezerra Allaman <ivanalaman@yahoo.com.br>
Enviadas: Sexta-feira, 30 de Setembro de 2011 17:15
Assunto: Re: [R-br] Função não reconhece variável extraída de um modelo!
Ivan
outra funcao que pode ajudar nisto é terms()
combinada com eval() e outras voce pode ter flexibilidade de manuseio de
termos em formulas
Isto pode evitar por exemplo, copiar variaveis em objetos de saida e ao
inves disto, apontar o objeto inicial
exemplos:
terms(y ~ x1 * x2)
density ~ Asym/(1 + exp((xmid - log(conc))/scal))
a saida e uma lista com nomes fixos que voce pode entao explorar a
estrutura
On Thu, 29 Sep 2011, Ivan Bezerra Allaman wrote:
> Boa tarde senhores!
>
> Gostaria de
saber como posso fazer uma função ler uma variável a partir de um modelo, nls por exemplo. Vamos supor um CMR.
>
> da <- expand.grid( A=factor( LETTERS[1: 3]), x=1:10)
> da$y <- 10/(1+exp(-( da$x-5)/1) )+rnorm(da$ x,0,0.1)
>
> n0 <- nls(y~As[A]/ (1+exp(-( x-x0[A])/ S[A])), data=da,
> start=list(As= c(10,10,10) , x0=c(5,5,5), S=c(1,1,1)))
>
> fun <- function(modelo){
> mean(all.vars(summary(modelo)$formula)[1])
> }
>
> Percebam que eu quero que a função calcule a média de uma variável, cuja variável foi declarada num determinado modelo. A função acima
> não dá certo, pois a função entende o seguinte:
>
>
mean("VARIÁVEL")
>
> Para dar certo, eu acho, a variável não poderia estar entre aspas. Enfim, alguém tem alguma idéia de como eu posso fazer isso?
>
> Desde já agradeço a todos.
>
> (S,f,P)
> Allaman
>
>
>
> \begin{signature}
>
> <<>>=
>
>
Prof. Dr. Ivan Bezerra Allaman
>
> Universidade Estadual de Santa Cruz
>
> Departamento de Ciências Exatas e Tecnológicas
>
> Ilhéus/BA - Brasil
>
> Fone: +55 73
3680-5076
>
> E-mail:
ivanalaman@yahoo.com.br/
ivanalaman@gmail.com>
> @
>
> \end{signature}
>
>
>