[R-br] transferir modelo da função nls para a função curve() automaticamente
Fernando Antonio de souza
nandodesouza em gmail.com
Quinta Fevereiro 25 19:03:10 BRT 2016
Olá a todos. Estou criando uma função para trabalhar com o pacote Rpanel no
qual pretendo criar uma lista de seleção com opção para escolher vários
modelos. Como vou trabalhar com vários modelos quero criar funções que
automatizem todo o processo. Minha questão é a seguinte: Eu ajusto um
modelo não-linear, produzo um gráfico e adiciono a curva do modelo aos
gráfico, utilizando a função curve(). Gostaria de passar o modelo para a
função curve() de forma que dependendo do modelo selecionado a expressão
incluída na função curve() se altere. Tentei a opção modelo$call conforme
código abaixo o qual me retorna o lado esquerdo da fórmula. Entretanto não
funciona. A função curve retorna a seguinte mensagem de erro;
"Error in curve(fm1$call[[2]][[3]], add = TRUE, col = 2) :
'expr' must be a function, or a call or an expression containing 'x'
Isto se deve ao fato de a formula retornada pelo comando fm1$call[[2]][[3]]
ser do typo "language"
typeof(fm1$call[[2]][[3]])
[1] "language"
ja tentei utilizar o comando as.expression e não obtive sucesso. Procurei
na internet e nada! Como eu posso substituir o comando "fm1$call[[2]][[3]]"
na função curve de forma que ela funcione?
fm1 <- nls(circumference ~ A/(1+exp((B-age)/C)), Orange,start = list(A =
160, B = 700, C = 350))
plot (circumference~ age, Orange)
with(as.list(coef(fm1)), curve("fm1$call[[2]][[3]]",add=TRUE, col=2))
--
=======================================================================
Fernando Souza
Zootecnista, DSc. Produção Animal
e-mail:nandodesouza em gmail.com
https://producaoanimalcomr.wordpress.com/
========================================================================
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20160225/1cef48bf/attachment.html>
Mais detalhes sobre a lista de discussão R-br