nls(h~(1.3+a*exp(-b*exp(-c*d))),cod, data=dados,start = list(a = 24, b =1, c = 0.2)) Error in as.list(control) : objeto 'cod' não encontrado

classic Clássica list Lista threaded Em Árvore
3 mensagens Opções
Responder | Em Árvore
Abra essa mensagem na visão em árvore
|

nls(h~(1.3+a*exp(-b*exp(-c*d))),cod, data=dados,start = list(a = 24, b =1, c = 0.2)) Error in as.list(control) : objeto 'cod' não encontrado

Lucas Souza
Estou a horas tentando ajustar esse modelo hipsométrico de Gompertz e dá sempre um erro.
Primeiro fiz o ajuste deste modelo para todo o povoamento de árvores.
Agora estou tentando fazer o ajuste por espécie e não consigo.

OBS: "cod" é a coluna, na base de dados, com as espécies.

Primeiro usei a equação:

nls(h~(1.3+a*exp(-b*exp(-c*d)))|cod, data=dados,start = list(a = 24, b =1, c = 0.2))

Error in numericDeriv(form[[3L]], names(ind), env) :
  Obtido valor faltante ou infinito quando avaliando o modelo
Além disso: Warning messages:
1: In Ops.ordered((1.3 + a * exp(-b * exp(-c * d))), cod) :
  '|' is not meaningful for ordered factors
2: In Ops.ordered((1.3 + a * exp(-b * exp(-c * d))), cod) :
  '|' is not meaningful for ordered factors

Depois eu apenas substitui "|cod" por ",cod" e ele devolveu esse erro:

dd<-nls(h~(1.3+a*exp(-b*exp(-c*d))),cod, data=dados,start = list(a = 24, b =1, c = 0.2))
Error in as.list(control) : objeto 'cod' não encontrado

Eu preciso ajustar esse modelo por espécies e não consigo!

Quem puder ajudar eu fico agradecido!
Responder | Em Árvore
Abra essa mensagem na visão em árvore
|

Re: nls(h~(1.3+a*exp(-b*exp(-c*d))),cod, data=dados,start = list(a = 24, b =1, c = 0.2)) Error in as.list(control) : objeto 'cod' não encontrado

Diogro.
O nls não reconhece a sintaxe com | . Vc precisa indexar os dados para cada espécie, não tem nenhum jeito de fazer isso automáticamente dentro da função de ajustar o modelo.
Responder | Em Árvore
Abra essa mensagem na visão em árvore
|

Re: nls(h~(1.3+a*exp(-b*exp(-c*d))),cod, data=dados,start = list(a = 24, b =1, c = 0.2)) Error in as.list(control) : objeto 'cod' não encontrado

Lucas Souza
Obrigado pela resposta.

Acabei usando 'random' pra indicar quais coeficientes eu queria que ele me informasse e deu certo
..,random=d|cod,data=dados,...