######################################## ####### REAMOSTRAGEM E SIMULACAO ####### ######################################## ########## EXERCICIO 1 ############## # # 1. baixe o arquivo e confira sua estrutura eutad <- read.table("palmadulto.txt",sep="\t",dec=".",header=T) head(eutad) tail(eutad) str(eutad) # 2. crie o objeto para guardar as distancias entre individuos xy <- eutad[,c(3,4)] head(xy) # 3. calcule a distancia observada entre cada individuo dist <- as.matrix(dist(xy,diag=F,upper=T)) dist[1:3, 1:3] diag(dist) <- NA # 4. distancia media do vizinho mais proximo nn <- apply(dist, 1, min, na.rm=TRUE) (mnn <- mean(nn)) # 5. crie um vetor resultado resultado <- rep(NA,1000) # 6. guarde o valor observado na primeira posicao de resultado resultado[1] <- mnn # 7. vetor contador e 8. ciclo for(k in 2:1000) { xsim <- round(runif(102,0,320),1) ysim <- round(runif(102,0,320),1) xysim <- data.frame(xsim,ysim) distsim <- as.matrix(dist(xysim,diag=F,upper=T)) diag(distsim) <- NA nnsim <- apply(distsim,1,min,na.rm=T) resultado[k] <- mean(nnsim) } # 9. faca um histograma dos valores simulados resultm0 <- resultado - mean(resultado) hist(resultm0) abline(v=resultm0[1],lty=2,col="red") # 10. calcule a probabilidade de uma distribuicao espacial aleatoria gerar valores iguais ou mais extremos do que o valor mnn obs resultext <- sum(abs(resultm0)>=abs(resultm0[1])) (pvalor <- resultext/length(resultm0)) ###################################################### ########### EXERCICIO 2 ########### # animais <- read.table("animais.txt",sep=";",dec=",",header=T) head(animais) tail(animais) animais <- animais[complete.cases(animais$brain),] # 1. Calcule a inclinacao da relacao log(brain)~log(body) lmanimais <- lm(log(brain)~log(body),animais) summary(lmanimais) coef(lmanimais) plot(log(brain)~log(body),animais) abline(lmanimais) # a partir da formula do enunciado medx <- mean(log(animais$body)) medy <- mean(log(animais$brain)) a <- log(animais$body) - medx b <- log(animais$brain) - medy c <- sum(a*b) d <- sum(a^2) (inclina <- c/d) # coincide com a linha_65 # 2. Crie um vetor resultado resultado <- rep(NA,1000) # 3. Guarde o valor observado resultado[1] <- coef(lm(log(brain)~log(body),animais))[[2]] # 4. a 7. for(k in 2:1000) { simbrain <- sample(animais$brain) resultado[k] <- coef(lm(log(simbrain)~log(body),animais))[[2]] } # 8. faca o histograma hist(resultado) abline(v=resultado[1],lty=2,col="red") # 9. calcule a probabilidade da inclinacao obs ter sido gerada por variaveis independentes (pvalor <- sum(abs(resultado)>=abs(resultado[1]))/length(resultado))