Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
dicas:rstudio [2011/04/19 22:52] paulojus |
dicas:rstudio [2011/04/25 10:44] (atual) walmes |
||
---|---|---|---|
Linha 17: | Linha 17: | ||
* ✔ Outras Aproximações pela normal; | * ✔ Outras Aproximações pela normal; | ||
* Convergência da média de realizações binomial, Poisson, beta, etc, para uma distribuição normal controlando tamanho da amostra; | * Convergência da média de realizações binomial, Poisson, beta, etc, para uma distribuição normal controlando tamanho da amostra; | ||
+ | * ✔ Gráfico para estudo de medidas de influência em modelos de regressão linear (Walmes); | ||
+ | * ✔ Teste de normalidade aplicado aos dados e aos resíduos (Walmes); | ||
+ | * ✔ Teste de correlação para dados e resíduos de experimentos (Walmes); | ||
+ | * ✔ Taxa de erro tipo I e tipo II (Walmes). | ||
Dicas sobre o editor: | Dicas sobre o editor: | ||
Linha 204: | Linha 208: | ||
#------------------------------------------------------------ | #------------------------------------------------------------ | ||
</code> | </code> | ||
+ | |||
+ | ==== Gráfico para estudo de medidas de influência em modelos de regressão linear ==== | ||
+ | |||
+ | <code R> | ||
+ | # por Walmes ------------------------------------------------ | ||
+ | |||
+ | require(manipulate) | ||
+ | data(anscombe) | ||
+ | ans0 <- anscombe[,c("x1","y1")] | ||
+ | ans0 <- ans0[order(ans0$x1),] | ||
+ | rownames(ans0) <- NULL | ||
+ | ans1 <- ans0 | ||
+ | rx <- 2*diff(range(ans1$x1)) | ||
+ | ry <- 2*diff(range(ans1$y1)) | ||
+ | cols <- rep(1,nrow(ans0)) | ||
+ | |||
+ | layout(matrix(c(1,2,1,3,4,5),2,3)) | ||
+ | |||
+ | manipulate({ | ||
+ | ans1[po,] <- ans0[po,]+c(dx,dy) | ||
+ | plot(ans1) | ||
+ | points(ans1[po,], col="red", pch=19) | ||
+ | abline(a=3, b=0.5, col="gray50", lty=2) | ||
+ | m1 <- lm(y1~x1, data=ans1) | ||
+ | abline(m1, col=2) | ||
+ | h <- hatvalues(m1)[po] | ||
+ | r <- residuals(m1)[po] | ||
+ | legend("topleft", bty="n", | ||
+ | legend=c(substitute(h==ha, list(ha=round(h,3))), | ||
+ | substitute(r==re, list(re=round(r,3))))) | ||
+ | legend("bottomright", legend=po, bty="n") | ||
+ | plot(m1) | ||
+ | }, | ||
+ | po=slider(1,nrow(ans0), step=1, initial=5), | ||
+ | dx=slider(-rx+0.001, rx, initial=0), | ||
+ | dy=slider(-ry, ry, initial=0)) | ||
+ | |||
+ | #------------------------------------------------------------ | ||
+ | </code> | ||
+ | |||
+ | ==== Teste de normalidade aplicado aos dados e aos resíduos ==== | ||
+ | |||
+ | <code R> | ||
+ | # por Walmes ------------------------------------------------ | ||
+ | |||
+ | par(mfrow=c(2,1)) | ||
+ | |||
+ | manipulate({ | ||
+ | m <- rep(seq(0,by=h1,length.out=nlev), nrep) | ||
+ | x <- rnorm(m, m, sd) | ||
+ | xp <- qqnorm(x); qqline(x) | ||
+ | rug(xp$x); rug(xp$y, side=2) | ||
+ | legend("topleft", legend=shapiro.test(x)$p, bty="n") | ||
+ | m0 <- lm(x~factor(m)) | ||
+ | xp <- qqnorm(residuals(m0)); qqline(residuals(m0)) | ||
+ | rug(xp$x);rug(xp$y, side=2) | ||
+ | legend("topleft", bty="n", | ||
+ | legend=shapiro.test(residuals(m0))$p) | ||
+ | }, | ||
+ | h1=slider(0.001, 10, initial=1), | ||
+ | nlev=slider(2, 15, initial=5), | ||
+ | nrep=slider(2, 25, initial=5), | ||
+ | sd=slider(0.01, 10, initial=1)) | ||
+ | | ||
+ | #------------------------------------------------------------ | ||
+ | </code> | ||
+ | |||
+ | ==== Teste de correlação para dados e resíduos de experimentos ==== | ||
+ | |||
+ | <code R> | ||
+ | # por Walmes ------------------------------------------------ | ||
+ | |||
+ | require(MASS) | ||
+ | par(mfrow=c(2,1)) | ||
+ | |||
+ | manipulate({ | ||
+ | m <- rep(seq(0,by=h1,length.out=nlev), nrep) | ||
+ | x <- mvrnorm(length(m), mu=c(0,0), | ||
+ | Sigma=matrix(c(1,cor,cor,1),2,2)) | ||
+ | x[,1] <- x[,1]+m; x[,2] <- x[,2]+m | ||
+ | plot(x) | ||
+ | legend("topleft", legend=cor.test(x[,1], x[,2])$est, bty="n") | ||
+ | m0 <- aov(x~factor(m)) | ||
+ | r <- residuals(m0) | ||
+ | plot(r) | ||
+ | legend("topleft", legend=cor.test(r[,1], r[,2])$est, bty="n") | ||
+ | }, | ||
+ | h1=slider(0,19.99,initial=0.01), | ||
+ | nrep=slider(10,300,initial=20), | ||
+ | nlev=slider(2,15,initial=5), | ||
+ | cor=slider(-0.99,0.99,initial=0)) | ||
+ | |||
+ | #------------------------------------------------------------ | ||
+ | </code> | ||
+ | |||
+ | ==== Taxa de erro tipo I e tipo II ==== | ||
+ | |||
+ | <code R> | ||
+ | # por Walmes ------------------------------------------------ | ||
+ | |||
+ | require(manipulate) | ||
+ | |||
+ | n <- 70 | ||
+ | xx <- seq(qnorm(0.9), 4, l=n) | ||
+ | yy <- dnorm(xx, 0, 1) | ||
+ | |||
+ | area <- function(x,y){ | ||
+ | da <- rbind(cbind(x,y), c(x[1],y[1])) | ||
+ | DA <- sapply(1:length(x), | ||
+ | function(o){ | ||
+ | dir <- da[o,1]*da[o+1,2] | ||
+ | esp <- da[o,2]*da[o+1,1] | ||
+ | c(dir, -esp) | ||
+ | } | ||
+ | ) | ||
+ | abs(sum(apply(DA, 1, sum)/2)) | ||
+ | } | ||
+ | |||
+ | manipulate({ | ||
+ | curve(dnorm(x, 0, 1), -4, 9, col=1, | ||
+ | ylim=c(-0.15,0.5), yaxt="n", ylab="f(x)") | ||
+ | axis(2, at=seq(0,0.4,0.1)) | ||
+ | curve(dnorm(x, i, 1), col=2, add=TRUE) | ||
+ | xx2 <- seq(-4+i, qnorm(0.9, i, 1)+2, l=n) | ||
+ | yy2 <- dnorm(xx2, i, 1) | ||
+ | xx2 <- c(min(xx2), xx2, max(xx2)) | ||
+ | yy2 <- c(0,yy2,0) | ||
+ | yy2 <- pmin(yy2, dnorm(xx2, 0, 1)) | ||
+ | polygon(xx2, yy2, col="gray90") | ||
+ | polygon(c(xx, rev(xx)), | ||
+ | c(yy, rep(0, length(yy))), den=10) | ||
+ | segments(i, 0, i, 0.4, col=2) | ||
+ | segments(0, 0, 0, 0.4, col=1) | ||
+ | tipo2 <- round(area(xx2,yy2), 3) | ||
+ | text(2, -0.075, pos=1, label=expression(alpha==0.10)) | ||
+ | arrows(2, -0.075, 2, -0.01, length=0.1) | ||
+ | text(i/2, 0.45, pos=3, label=substitute(beta==b, list(b=tipo2))) | ||
+ | arrows(i/2, 0.45, i/2, max(yy2)+0.01, length=0.1) | ||
+ | }, | ||
+ | i=slider(0, 6, step=0.01, initial=0) | ||
+ | ) | ||
+ | |||
+ | #------------------------------------------------------------ | ||
+ | </code> | ||
+ |