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 Próxima revisão Ambos lados da revisão seguinte | ||
ridiculas [2011/05/25 21:40] walmes [section 3] |
ridiculas [2011/06/01 14:13] walmes [Gráfico com dois eixos coordenados] |
||
---|---|---|---|
Linha 5: | Linha 5: | ||
**//Ridículas//** é a página do LEG dedicada à fornecer //dicas curtas// sobre R, e.g. condução de análises, operação com dados e confecção de gráficos. As dicas estão organizadas pelo título, seguido de descrição, palavras-chave e CMR (código mínimo reproduzível). Se você deseja contribuir com a nossa página de Ridículas, envie e-mail para ''walmes@ufpr.br''. | **//Ridículas//** é a página do LEG dedicada à fornecer //dicas curtas// sobre R, e.g. condução de análises, operação com dados e confecção de gráficos. As dicas estão organizadas pelo título, seguido de descrição, palavras-chave e CMR (código mínimo reproduzível). Se você deseja contribuir com a nossa página de Ridículas, envie e-mail para ''walmes@ufpr.br''. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Gráfico com dois eixos coordenados ==== | ||
+ | |||
+ | Temporariamente sem descrição.\\ | ||
+ | palavras-chave: #série, #eixo. | ||
+ | |||
+ | |||
+ | <code R> | ||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # por Ivan, Benilton e Walmes | ||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # dados de séries de dados indexadas no tempo (meses) | ||
+ | |||
+ | lines <- 'meses temp umidade rad chuva | ||
+ | Jan 26.49 86.58 795.88 0.36 | ||
+ | Fev 26.65 88.49 710.24 0.34 | ||
+ | Mar 27.19 86.16 772.99 0.21 | ||
+ | Abr 26.28 89.75 574.88 0.67 | ||
+ | Mai 26.62 89.22 614.02 0.31 | ||
+ | Jun 26.13 87.83 680.08 0.26 | ||
+ | Jul 25.83 86.57 675.97 0.15 | ||
+ | Ago 27.05 83.14 756.44 0.07 | ||
+ | Set 27.60 83.02 925.57 0.14 | ||
+ | Out 27.44 85.16 927.71 0.17 | ||
+ | Nov 26.56 88.18 788.87 0.19 | ||
+ | Dez 25.87 90.63 703.94 0.33' | ||
+ | da <- read.table(textConnection(lines), header=TRUE) | ||
+ | str(da) | ||
+ | |||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # gráfico de duas séries no mesmo gráfico com um eixo coordenado para cada | ||
+ | |||
+ | par(mar=c(5,5,4,5)) | ||
+ | plot(da$temp, type="b", pch=15, lwd=1.5, | ||
+ | xlab="Meses (Anos 2010)", main="Temperatura e umidade em 2010", | ||
+ | ylab=expression(Temperatura~group("(", degree*C, ")")), | ||
+ | ylim=c(24,30), xlim=c(1,12), axes=FALSE) | ||
+ | axis(1, at=1:12, labels=da$meses) | ||
+ | axis(2) | ||
+ | par(new=TRUE) | ||
+ | plot(da$umidade, type="b", pch=14, axes=FALSE, frame=TRUE, ann=FALSE) | ||
+ | axis(4) | ||
+ | mtext(text="Umidade (%)", 4, line=3) | ||
+ | legend("topleft", bty="n", seg.len=3, lty=1, lwd=c(1.5,1), pch=c(15,14), | ||
+ | legend=c("Temperatura","Umidade"), merge=TRUE, trace=FALSE) | ||
+ | |||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # funções sugeridas | ||
+ | |||
+ | apropos("month") | ||
+ | demo(plotmath) | ||
+ | |||
+ | #------------------------------------------------------------------------------------------ | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Análise de dados de proporção usando modelo linear generalizado ==== | ||
+ | |||
+ | Temporariamente sem descrição.\\ | ||
+ | palavras-chave: #binomial, #sucessos, #deviance, #wireframe, #fatorial, #superfície. | ||
+ | |||
+ | <code R> | ||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # por Walmes | ||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # dados de número de sementes viáveis de soja | ||
+ | |||
+ | rend <- read.table("http://www.leg.ufpr.br/~walmes/cursoR/rendimento.txt", header=TRUE) | ||
+ | rend <- transform(rend, k=factor(K), a=factor(A), bloc=factor(bloc)) | ||
+ | str(rend) | ||
+ | |||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # ajuste modelo de caselas aos dados assumindo distribuição binomial (link=logit) | ||
+ | |||
+ | g0 <- glm(cbind(nv, nvi)~bloc+k*a, data=rend, family=binomial) | ||
+ | |||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # análise de resíduos usual para verificar anomalias | ||
+ | |||
+ | par(mfrow=c(2,2)) | ||
+ | plot(g0) | ||
+ | layout(1) | ||
+ | |||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # quadro de estimativas e quadro de análise de deviance, faz a vez da anova | ||
+ | |||
+ | summary(g0) | ||
+ | anova(g0, test="Chisq") | ||
+ | | ||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # obter modelo mais parcimonioso, usar fatores na forma contínua | ||
+ | |||
+ | g1 <- glm(cbind(nv, nvi)~bloc+K+A+I(K^2)+I(A^2)+K:A, data=rend, family=binomial) | ||
+ | summary(g1) # comparar deviance residual com grau de liberdade residual | ||
+ | g1 <- update(g1, formula=.~.-K:A, family=quasibinomial) | ||
+ | summary(g1) | ||
+ | anova(g1, test="F") | ||
+ | | ||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # faz a predição dos valores (usando o apenas o bloco 1) | ||
+ | |||
+ | pred <- with(rend, | ||
+ | expand.grid(A=seq(min(A),max(A),l=20), | ||
+ | K=seq(min(K),max(K),l=20), | ||
+ | bloc="1")) | ||
+ | pred$prob <- predict(g1, newdata=pred, type="response") | ||
+ | |||
+ | #------------------------------------------------------------------------------------------ | ||
+ | # gráfico | ||
+ | |||
+ | require(lattice) | ||
+ | wireframe(prob~A+K, data=pred, | ||
+ | zlab=list("Probabilidade de germinação", rot=90), | ||
+ | scales=list(arrows=FALSE), | ||
+ | screen=list(z=-50, x=-60), drape=TRUE) | ||
+ | |||
+ | #------------------------------------------------------------------------------------------ | ||
+ | </code> | ||
---- | ---- |