204.2 Eu <3 caixeta!
Estudos apontam que os alunos dessa disciplina se dividem entre aqueles que não aguentam mais exercícios sobre caixeta, e aqueles que não fizeram a disciplina de Introdução à linguagem R! Assim, vamos fazer mais um exercício com dados de altura e CAP (circunferência à altura do peito) de árvores de caixeta!
Carregue os dados do arquivo capChauas.csv em um objeto na sua área de trabalho. Este arquivo tem apenas uma coluna, que é o CAP de 201 árvores de caixeta amostradas com parcelas na Estação Ecológica de Chauás. Guarde esses dados no objeto
caixeta.Vamos ajustar os modelos exponencial, normal e gama à distribuição de CAPs.
Crie uma função chamadanLL.normque recebe dois parâmetros - o primeiro para a média e segundo para o desvio padrão - e retorna a soma da log-verossimilhança negativa dos valores que estão no objetocaixetapara o modelo normal de distribuição de CAPs das árvores. Crie funções semelhantes para a distribuição exponencial e gama. Para a exponencial, a função deve se chamarnLL.expcom o único parâmetro da exponencial como único argumento. Para a gama, a função deve se chamarnLL.gama, que recebe dois parâmetros - o primeiro para a forma e segundo para a escala.Usando a função mle2 do pacote bbmle, ajuste os modelos normal, exponencial e gama aos dados, minimizando as funções de log-verossimilhança que você criou. Guarde os resultados dos ajustes nos objetos
mle.norm,mle.exp,mle.gama. Use um chute inicial razoável para cada um dos ajustes.Avalie graficamente cada um dos ajustes. Primeiro, construa um gráfico da densidade empírica dos CAPs (DICA: use
hist(x, prob=TRUE)ouplot(density(x))). Sobre esse gráfico, adicione 3 linhas das distribuições ajustadas. Para isso, faça funções que recebem valores de CAP e retornam as densidades probabilísticas previstas por cada modelo. Esta funções de distribuição de probabilidade dos modelos normal, exponencial e gama devem ser chamadasf.norm,f.expef.gama, respectivamente. ATENÇÃO: Como sempre, não inclua os códigos do gráfico na resposta que vai submeter ao notaR. Mas inclua o código das funções de densidade criadas. Finalmente, adicione a curva das distribuições prevsitas pelos modelos ao gráfico que você fez. DICA: use curve(f.exp(x), add=TRUE) e assim por diante.Examine o valor de verossimilhança de cada ajuste. Guarde nos objetos
logLik.norm,logLik.explogLik.gamaos valores da log-verossimilhança negativa dos ajustes à normal, exponencial e gama, respectivamente. Esses objetos devem ser da classe logLik.Crie um objeto chamado
omelhorcom o nome do modelo com maior verossimilhança ("exponencial", "normal" ou "gama").
notas em linguagem R