####Exercícios 8. Reamostragem e Simulação ###Exercício 1 eutad<- read.table("http://ecologia.ib.usp.br/bie5782/lib/exe/fetch.php?media=bie5782:01_curso_atual:palmadulto.txt", sep="\t", dec=".", header = T) eutad dist=matrix(NA, ncol=102, nrow=102)#cria objeto vazio para o for 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) } } dist (nn<-apply(dist, 1, min, na.rm=TRUE)) (mnn<-mean(nn)) resultado<- rep(NA,1000) resultado[1]<- mnn for (k in 2:1000) { xsim<- round(runif(102, 0,320),1) ysim<- round(runif(102, 0,320),1) distsim<- matrix(NA, ncol=102, nrow=102) for(l in 1:101) { for(m in (l+1):102) { difxsim= (xsim[l]-xsim[m])^2 difysim= (ysim[l]-ysim[m])^2 distsim[l,m]<-sqrt(difxsim + difysim) distsim[m,l]<-sqrt(difxsim + difysim) } } nnsim <- apply(distsim, 1, min, na.rm=TRUE) resultado[k] <- mean(nnsim) } hist(resultado) abline(v=mnn, col="red") p.valor<-sum(resultado<=mnn)/length(resultado) p.valor #Exercício 2 #Simulando o teste de uma regressão linear cerebros<-na.omit(read.table("http://ecologia.ib.usp.br/bie5782/lib/exe/fetch.php?media=dados:animais.txt", sep=";", dec=",")) lm.cerebros<-lm(log(cerebros$brain)~log(cerebros$body)) inclinacao<-coef(lm.cerebros)[[2]] inclinacoes<- rep(NA, 1000) inclinacoes [1]<- inclinacao for (o in 2:1000) { sim_brain<-sample(cerebros$brain) lm.cerebros.sim<-lm(log(sim_brain)~log(cerebros$body)) inclinacao.sim<-coef(lm.cerebros.sim)[[2]] inclinacoes[o]<- inclinacao.sim } hist(inclinacoes) abline(v=inclinacoes[1], col="red") prob.independentes<-sum(abs(inclinacoes)>=abs(inclinacoes[1]))/length(inclinacoes)