* [[02_tutoriais:tutorial9:start|Tutorial]] * [[01_curso_atual:exerPermuta| Exercícios]] * [[03_apostila:08-simulacao| Apostila]] ====== Exercícios 8. Reamostragem e Simulação ====== ===== Exercício 8.01 Tamanho de Tabebuia cassinoides ===== {{url>http://notar.ib.usp.br/exercicio/113}} * Link do exercício [[http://notar.ib.usp.br/exercicio/113| 8.01]] no notaR ===== Exercício 8.02 ===== {{url>http://notar.ib.usp.br/exercicio/99}} * Link do exercício [[http://notar.ib.usp.br/exercicio/99| 8.02]] no notaR /* ===== Exercício 1. ===== Os palmitos estão distribuídos aleatoriamente na floresta? Durante a aula teórica mostramos como podemos usar uma distribuição teórica para gerar dados que simulem o cenário previsto por nossa hipótese nula. No caso da posição dos palmitos adultos em uma parcela de 10,24 ha de floresta (320x320 m), nossa hipótese nula é que eles se distribuem aleatoriamente no espaço. Iniciamos a construção do código para testar essa hipótese, o exercício é terminar de testar a hipótese. Abaixo reproduzimos o código apresentado em aula para que possa continuar a partir dele. * 1.1. Baixe o arquivo {{:01_curso_atual:palmadulto.txt|}} e leia os dados no R em um objeto chamado ''eutad'', não esqueça de conferir se o objeto de dados foi lido corretamente. * 1.2. Crie o objeto para guardar as distâncias entre cada indivíduo: dist=matrix(NA, ncol=102, nrow=102) * 1.3. Calcule a distãncia observada entre cada indivíduo e guarde o resultados em ''dist'': for(i in 1:101) { for(j in (i+1):102) { difx2=(eutad$gx[i]-eutad$gx[j])^2 dify2=(eutad$gy[i]-eutad$gy[j])^2 dist[i,j]<-sqrt(difx2 + dify2) dist[j,i]<-sqrt(difx2 + dify2) } } * 1.4. Verifique o objeto ''dist'' e calcule o parâmetro chamado de distância média do vizinho mais próximo (//MNN//): (nn<-apply(dist, 1, min, na.rm=TRUE)) (mnn<-mean(nn)) ==== Simulando ==== Até agora calculamos o valor esperado da distância média do vizinho mais próximo. Os próximos passos, são ((a descrição de um algoritmo desta forma é chamada de pseudo-código)): * 1.5. Crie um vetor ''resultado'', com 1000 //NA//'s, para guardar os valores de cada simulação. * 1.6. Guarde o valor observado na primeira posição de ''resultado''; * 1.7. Crie um ciclo com contador (//k//) que vai de 2 a 1000; * 1.8. Dentro do ciclo: * 1.8.1. Crie o objetos ''xsim'', um vetor com valores amostrados aleatoriamente de uma distribuição uniforme de 0 a 320 (o tamanho x da parcela), arredondando o valor para uma casa decimal((um dígito)). Lembre-se de sortear o mesmo quantidade de valores que a população de palmito observado; * 1.8.2. Faça o mesmo que no passo anterior e guarde no objeto ''ysim''; * 1.8.3. Como no tópico anterior, crie uma matriz para guardar as distâncias entre cada valor xy simulados; * 1.8.3. Crie os ciclos para o calculo das distâncias como no tópico anterior; * 1.8.4. Guarde o valor da distância média do vizinho mais próximo dos dados simulados na posição //k// do vetor ''resultado''; * 1.8.5. Feche o ciclo. * 1.9. Faça um histograma dos valores simulados e coloque uma linha vermelha vertical na posição do valor observado; * 1.10. Calcule a probabilidade de uma distribuição espacial aleatória gerar valores iguais ou mais extremos do que o valor //MNN// observado. ----------- ===== Exercício 2 ===== ==== Simulando o teste de uma regressão linear ==== O principal teste estatístico de uma //regressão linear// é que a inclinação do modelo da reta é diferente de zero! Isso significa que a variável preditora é independente da variável reposta. Ou seja não há relação aparente entre elas. Utilizando os dados de massa corpórea e do cérebro de alguns vertebrados [[dados:dados-animals]]: * 2.1. Calcule a inclinação da relação log(brain) ~ log(body) ((Que tal dar uma checada no valor calculado, antes de continuar?)); Cálculo da inclinação da reta $$ \beta = \frac{\sum_1^n((x_i- \bar{x}) (y_i- \bar{y}))}{\sum_1^n{(x_i- \bar{x})^2}} $$ * 2.2. Crie um vetor para guardar o resultado de simulações; * 2.3. Guarde o valor observado no objeto criado em 2.2; * 2.4. Abra um ciclo de 2 a 1000; * 2.5. Desordene o vetor ''brain'' e guarde no objeto ''sim_brain''; * 2.6. Calcule a inclinação entre o log(sim_brain) ~ log(body) e guarde no vetor resultado; * 2.7. Feche o ciclo; * 2.8. Faça o histograma dos valores simulados e compare com o valor observado da inclinação da relação; * 2.9. Calcule a probabilidade da inclinação observada ter sido gerada por variáveis que são independentes; --------- ===== Exercício 3 ===== ==== Testando a interação entre variáveis ==== Na aula de foi apresentado os dados do pacote ''car'', chamado ''Davis'', onde foi estudado a relação entre altura e peso de diferente pessoas. Utilizamos ele para mostrar o significado da interação entre variáveis preditoras. O modelo apresentado foi: library(car) data(Davis) modDavis <- lm(weigth ~ height + sex + heigth:sex) <\coder> */