
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@gmail.com https://producaoanimalcomr.wordpress.com/ ========================================================================