###Exercicio aula 8 - Reamostragem e Simulacao ## Ex:1 eutad<-read.table("http://ecologia.ib.usp.br/bie5782/lib/exe/fetch.php?media=bie5782:01_curso_atual:palmadulto.txt", sep="\t", header=T, as.is=T) head(eutad) dist=matrix(NA, ncol=102, nrow=102) for(i in 1:101) { for(j in (i+1):102) #para saber a distancia entre os pontos: a formula é para encontrar a hipotenusa do triangulo formado (sqrt(cateto^2+cateto^2)) { 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ância média do vizinho mais próximo (MNN) - valor observado: (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) distxy<-matrix(NA, ncol=102, nrow=102) for(l in 1:101) { for(m in (l+1):102) { difx2sim=(xsim[l]-xsim[m])^2 dify2sim=(ysim[l]-ysim[m])^2 distxy[l,m]<-sqrt(difx2sim + dify2sim) distxy[m,l]<-sqrt(difx2sim + dify2sim) } } nnsim<-apply(distxy, 1, min, na.rm=TRUE) resultado[k]<-mean(nnsim) } hist(resultado) abline(v=mnn, col="red") unicaudal<-sum(resultado<=mnn) p.uni=unicaudal/length(resultado) p.uni ##Exercicio 2 vet<-na.omit(read.table("http://ecologia.ib.usp.br/bie5782/lib/exe/fetch.php?media=dados:animais.txt", sep=";", dec=",", header=T)) head(vet) lmvet<-lm(log(brain)~log(body), data=vet) beta.obs<-lmvet$coefficients[[2]] beta.sim<-rep(NA, 1000) beta.sim[1]<-beta.obs for (n in 2:1000) { sim.brain<-sample(vet$brain) beta.sim[n]<-coef(lm(log(sim.brain)~log(vet$body)))[[2]] } hist(beta.sim) abline(v=beta.obs, col="red") prob<-sum(abs(beta.sim)>=abs(beta.obs))/length(beta.sim) #avaliação bilateral