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 | ||
disciplinas:ce223:comandos2008 [2008/04/14 13:40] ehlers |
disciplinas:ce223:comandos2008 [2008/05/05 16:02] paulojus |
||
---|---|---|---|
Linha 306: | Linha 306: | ||
<code R> | <code R> | ||
freqs = scan(file='http://leg.ufpr.br/~ehlers/CE223/fumo.dat') | freqs = scan(file='http://leg.ufpr.br/~ehlers/CE223/fumo.dat') | ||
+ | freqs | ||
+ | [1] 45 16 21 33 40 45 28 22 34 21 50 37 37 15 56 30 85 29 | ||
- | array(freqs, dim=c(3,2,3)) | + | array(freqs, dim=c(2,3,3)) |
+ | , , 1 | ||
- | nomes = list(c('PR','SC','RS'), c('M','F'), c('nao fuma','fuma pouco','fuma muito')) | + | [,1] [,2] [,3] |
+ | [1,] 45 21 40 | ||
+ | [2,] 16 33 45 | ||
- | hf = array(freqs, dim=c(3,2,3), dimnames=nomes) | + | , , 2 |
+ | |||
+ | [,1] [,2] [,3] | ||
+ | [1,] 28 34 50 | ||
+ | [2,] 22 21 37 | ||
+ | |||
+ | , , 3 | ||
+ | |||
+ | [,1] [,2] [,3] | ||
+ | [1,] 37 56 85 | ||
+ | [2,] 15 30 29 | ||
+ | |||
+ | # Cada matrix 2x3 contem as contagens por sexo (linhas) e estado (colunas). | ||
+ | # A ultima dimensao refere-se ao habito de fumar. | ||
+ | |||
+ | nomes = list(c('M','F'),c('PR','SC','RS'),c('nao fuma','fuma pouco','fuma muito')) | ||
+ | |||
+ | hf = array(freqs, dim=c(2,3,3), dimnames=nomes) | ||
hf | hf | ||
+ | , , nao fuma | ||
+ | |||
+ | PR SC RS | ||
+ | M 45 21 40 | ||
+ | F 16 33 45 | ||
+ | |||
+ | , , fuma pouco | ||
+ | |||
+ | PR SC RS | ||
+ | M 28 34 50 | ||
+ | F 22 21 37 | ||
+ | |||
+ | , , fuma muito | ||
+ | |||
+ | PR SC RS | ||
+ | M 37 56 85 | ||
+ | F 15 30 29 | ||
m1 <- matrix(1:12, ncol = 3) | m1 <- matrix(1:12, ncol = 3) | ||
Linha 480: | Linha 519: | ||
by(d4[,4],d4$sexo,function(x)as.character(x)) | by(d4[,4],d4$sexo,function(x)as.character(x)) | ||
</code> | </code> | ||
+ | |||
Listas | Listas | ||
Linha 858: | Linha 898: | ||
</code> | </code> | ||
+ | |||
==== Semana 7 ==== | ==== Semana 7 ==== | ||
Linha 877: | Linha 918: | ||
Uma alternativa melhor é utilizar a função read.xls do pacote gdata pois assim não precisamos abrir o arquivo Excel. Após salvar o arquivo aeusp.xls na sua area de trabalho execute | Uma alternativa melhor é utilizar a função read.xls do pacote gdata pois assim não precisamos abrir o arquivo Excel. Após salvar o arquivo aeusp.xls na sua area de trabalho execute | ||
<code R> | <code R> | ||
- | library(gdata) | + | library(gdata) ou require(gdata) |
x = read.xls ('aeusp.xls') | x = read.xls ('aeusp.xls') | ||
Linha 898: | Linha 940: | ||
</code> | </code> | ||
+ | ==== Semana 1 ==== | ||
+ | === 30/04/2008 === | ||
+ | |||
+ | Gerando 1000 amostras de tamanho n=20 de uma ormal padrão | ||
+ | <code R> | ||
+ | rnorm(20, m=70, sd=10) | ||
+ | ams <- matrix(rnorm(20*1000, m=70, sd=10), ncol=20) | ||
+ | dim(ams) | ||
+ | ams[1,] | ||
+ | ams[2,] | ||
+ | </code> | ||
+ | |||
+ | Calculando o valor da estatística de interesse para a primeira e segunda amostra | ||
+ | <code R> | ||
+ | max(ams[1,])/quantile(ams[1,], prob=0.75) | ||
+ | unname(max(ams[1,])/quantile(ams[1,], prob=0.75)) | ||
+ | unname(max(ams[2,])/quantile(ams[2,], prob=0.75)) | ||
+ | </code> | ||
+ | |||
+ | Escrevendo uma função que calcula o valor da estatística de interesse e calculando ovamente o valor para a primeira e segunda amostras. | ||
+ | </code R> | ||
+ | T.est <- function(x) unname(max(x)/quantile(x, prob=0.75)) | ||
+ | T.est(ams[1,]) | ||
+ | T.est(ams[2,]) | ||
+ | </code> | ||
+ | |||
+ | Calculando valor da estatística de interesse agora para todas as amostras de uma só vez | ||
+ | <code R> | ||
+ | ts <- apply(ams, 1, T.est) | ||
+ | length(ts) | ||
+ | ts | ||
+ | </code> | ||
+ | |||
+ | Explorando os resultados: medidas resumo, grafico de densidade estimada e IC (95%) | ||
+ | <code R> | ||
+ | summary(ts) | ||
+ | plot(density(ts)) | ||
+ | quantile(ts, prob=c(0.025, 0.975)) | ||
+ | </code> | ||
+ | |||
+ | Aumentando o número de amostras para 5000. | ||
+ | <code R> | ||
+ | ams <- matrix(rnorm(20*5000, m=70, sd=10), ncol=20) | ||
+ | ts <- apply(ams, 1, T.est) | ||
+ | plot(density(ts)) | ||
+ | medias <- apply(ams, 1, mean) | ||
+ | plot(density(medias)) | ||
+ | curve(dnorm, 60, 80, mean=70, sd=10/sqrt(20), col=2) | ||
+ | </code> | ||