Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

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/09 18:56]
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 874: Linha 916:
 </​code>​ </​code>​
  
 +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>
 +library(gdata) ou require(gdata)
  
 +x = read.xls ('​aeusp.xls'​)
  
 +head(x)
 +
 +  Num    Comun Sexo Idade Ecivil X.Reproce X.Temposp X.Resid Trab Ttrab X.Itrab
 +1   1 JdRaposo ​   2     ​4 ​     4  Nordeste ​       21       ​9 ​   3    NA      20
 +2   2 JdRaposo ​   2     ​1 ​     1   ​Sudeste ​       24       ​9 ​   1     ​1 ​     14
 +3   3 JdRaposo ​   2     ​2 ​     1  Nordeste ​       31       ​3 ​   1     ​1 ​     14
 +4   4 JdRaposo ​   1     ​2 ​     2  Nordeste ​       10       ​3 ​   1     ​4 ​     10
 +5   5 JdRaposo ​   2     ​4 ​     2  Nordeste ​       31       ​6 ​   1     ​1 ​     11
 +6   6 JdRaposo ​   2     ​4 ​     2   ​Sudeste ​       24       ​4 ​   2    NA      15
 +  X.Renda X.Acompu X.Serief
 +1       ​1 ​       2        1
 +2       ​2 ​       2        7
 +3       ​5 ​       2        7
 +4       ​5 ​       2       11
 +5       ​6 ​       1        4
 +6       ​4 ​       2        4
 +</​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>​
  

QR Code
QR Code disciplinas:ce223:comandos2008 (generated for current page)