Hola a todos los R-ayudas

estoy tratando de escribir una función en R que me devuelva los estimadores (coef()) de un análisis de regresión no lineal. La estructura de mi base de datos es la siguiente:

##str(nigra)

'data.frame':   334 obs. of  3 variables:
 $ parcela: Factor w/ 55 levels "cu1","cu10","cu11",..: 1 1 1 1 1 1 1 1 12 12 ...
 $ edad   : int  46 51 56 61 66 71 79 88 44 49 ...
 $ ho     : num  12.4 12.6 12.8 13.4 14.2 14.9 16.2 16.4 14.2 14.9 ...


##

donde, como se puede observar, son 334 observaciones, un factor (parcela) con 55 niveles y dos variables numéricas edad y ho, 

he logrado aplicar un modelo no lineal con la función nls() así:

##

hossfeldIV <- nls(ho~edad*exp(0.1)/(a+b*(edad*exp(0.1))), data=nigra, start=list(a=30, b=10), trace=TRUE)
coef(hossfeldIV) 

##

con lo cual me devuelve los coeficientes globales de la base de datos, pero lo que quiero es obtener los estimadores por cada uno de los niveles del factor parcela al correr el modelo, soy novato en R, pero intento aprovechar su funcionalidad, leyendo sobre programar funciones puedo escribir algo así:


##

> parameters <- function(datos){
+ hossfeldIV <- nls(ho~edad*exp(0.1)/(a+b*(edad*exp(0.1))), 
+   data=datos, start=list(a=30, b=10), trace=TRUE)
+ asint_pend <- coef(hossfeldIV)
+ return(asint_pend)
+ }  
##


con lo cual está en función de "datos", es decir, si le doy un dataframe en lugar de datos, debería obtener lo que quiero, pero no es así... por favor si alguien puede ayudarme se lo agradecería..

saludos cordiales

Roy
	[[alternative HTML version deleted]]

