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

