Hola Elvira,
Antes de entrar a ver qué puede pasar con tus propios datos prueba con este
par de alternativas:
1. Cambia el nivel de precisión de cada paso en nls. (creo que se hace en
nls.control, aunque también se puede pasar como parámetro a nls). El valor
de "c" en el que recomiendas empezar es muy bajo y puede que no haya
la
precisión suficiente para detectar cambios en el gradiente.
2. Prueba como alternativa a definir un grid de búsqueda (grid de tus
parámetros "k" y "c") utiliza para ello este otro paquete:
nls2 <http://cran.at.r-project.org/web/packages/nls2/index.html>Non-linear
regression with brute force
Saludos,
Carlos Ortega
www.qualityexcellence.es
El 18 de noviembre de 2013 12:18, Elvira Ferre Jaén
<mariaelvira.ferre@um.es> escribió:
> Hola,
> quiero ajustar una curva sinoidal de la forma "f(x)=k/(
1+(c/log(x))^n)"
> mediante la función 'nls' pero me da error el siguiente código:
>
> >datos<-read.table(file="datos.csv",
header=TRUE,sep=";",dec=",")
> >library(nls)
> >fit <- nls(y ~ k/(1+(c/log(x))^n), datos, start = list (k=100 ,
c
> =5*10^(-6), n=1))
> Error en numericDeriv(form[[3L]], names(ind), env) :
> Missing value or an infinity produced when evaluating the model
>
> ¿Alguien me puede ayudar?
> Adjunto un archivo csv con los datos.
> Gracias y saludos!
> Elvira.
>
> --
> Sec. Apoyo Estadístico.
> Servicio de Apoyo a la Investigación (SAI)
> Vicerrectorado de Investigación e Internacionalización.
> Universidad de Murcia
>
> Edif. SACE. Campus de Espinardo.
> 30100 Murcia
> @. mariaelvira.ferre@um.es
> T. 868 88 7315 F. 868 88 7302www.um.es/sai www.um.es/ae
> ---
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
[[alternative HTML version deleted]]