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 10:22]
ehlers
disciplinas:ce223:comandos2008 [2008/05/26 15:24]
ehlers
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 899:
  
 </​code>​ </​code>​
 +
 +
 +==== Semana 7 ====
 +
 +=== 07/04/2008 e 09/04/2008 ===
 +
 +Analisar os dados do Exercicio 26, Capitulo 1 do livro NOÇÕES DE PROBABILIDADE E ESTATÍSTICA disponiveis em http://​www.ime.usp.br/​~noproest
 +
 +Note que ha brancos no arquivo de dados (dados omissos). Uma forma de tratar este problema é abrir o arquivo Excel e salvar como um arquivo texto do tipo CSV (comma separated values). Posteriormente este arquivo pode ser lido como
 +<code R>
 +
 +read.table('​nome do arquivo',​ header=T, sep=','​)
 +
 +# ou
 +
 +read.csv('​nome do arquivo',​ header=T)
 +</​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>​
 +
 +=== 30/04/2008 ===
 +
 +Gerando 1000 amostras de tamanho n=20 de uma distribuição normal 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 novamente 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))
 +</​code>​
 +
 +Distribuição amostral da média: empírica (por simulação) //versus// teórica
 +<code R>
 +medias <- apply(ams, 1, mean)
 +plot(density(medias))
 +curve(dnorm(x,​mean=70,​ sd=10/​sqrt(20)),​ 60, 80, add=TRUE, col=2)
 +</​code>​
 +
 +=== 07/05/2008 ===
 +
 +Exercicios sobre o uso do Latex.
 +
 +Um preambulo basico:
 +<​code>​
 +\documentclass[12pt]{article}% classes basicas: book, article, report e letter
 +\usepackage[brazil]{babel}% português do Brasil. ​
 +\usepackage[latin1]{inputenc}% usar o conjunto de caracteres Europeu Ocidental.
 +</​code>​
 +Para usar Unicode, substitua a última linha por
 +<​code>​
 +\usepackage[utf-8]{inputenc}
 +</​code>​
 +
 +Apos o preambulo coloque o titulo, autoria e data do artigo.
 +<​code>​
 +
 +\Title{Título do Trabalho}
 +\author{Nome do Autor}
 +\date{\today}
 +</​code>​
 +
 +Agora sim começa o documento,
 +<​code>​
 +\begin{document}
 +\maketitle
 +% seu texto ...
 +% Inclua seções e subseções ​
 +\section{Uma seção}
 +\subsection{Uma subseção}
 +\end{document}
 +</​code>​
 +
 +Escreva os comandos Latex para as seguintes formulas matematicas:​
 +  * <​latex>​$E(X^2)=\int_{-\infty}^{\infty}x^2 f(x)dx$</​latex>​
 +  * <​latex>​$X\sim N(\mu,​\sigma^2)\rightarrow f(x)=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{-\frac{1}{2\sigma^2}(x-\mu)^2\right\}$</​latex>​
 +  * <​latex>​$(a+b)^n = \sum_{k=0}^n \frac{n!}{k!(n-k)!} a^k b^{n-k}</​latex>​
 +
 +Escreva os comandos do Latex para construir a seguinte matriz:
 +
 +<​latex>​
 +\left[
 +\begin{array}{cccc}
 +a_{11} & a_{12} & \dots  & a_{1n}\\
 +a_{21} & a_{22} & \dots  & a_{2n}\\
 +\vdots & \vdots & \vdots & \vdots\\
 +a_{m1} & a_{m2} & \dots  & a_{mn}\\  ​
 +\end{array}
 +\right]
 +</​latex>​
 +
 +Escreva os comandos do Latex para montar as seguintes tabelas. Tente numerar as tabelas, colocar um comentário e referenciar as tabelas no texto.
 +
 +<​latex>​
 +\begin{tabular}{ccc}
 +\hline
 +           &​masculino & feminino \\
 +\hline
 +Não fumac  &​45 ​       & 16       \\
 +Fuma pouco &​28 ​       & 22       \\
 +\hline
 +\end{tabular}
 +</​latex>​
 +
 +<​latex>​
 +\begin{tabular}{|l|cc|}
 +\hline
 +           &​masculino & feminino \\
 +\hline\hline
 +Não fuma   &​45 ​       & 16       \\
 +Fuma pouco &​28 ​       & 22       \\
 +\hline
 +\end{tabular}
 +</​latex>​
 +
 +Incluindo figuras.
 +
 +Os comandos abaixo criam um arquivo Postscript com um histograma.
 +<code R>
 +postscript('​histograma.ps'​)
 +hist(rnorm(1000))
 +dev.off()
 +</​code>​
 +
 +Use os comandos abaixo para incluir a figura no seu documento. Será preciso incluir o comando \usepackage[dvips]{graphicx} no preambulo.
 +<​code>​
 +\begin{figure}[htbp]\centering
 +\includegraphics[width=10cm,​ height=10cm]{histograma.ps}
 +\caption{Histograma de uma amostra de tamanho 1000 da distribuição normal padrão.}
 +\label{fig:​hist}
 +\end{figure}
 +</​code>​
 +
 +Pode-se fazer referencia a figura no texto: figura \ref{hfig:​ist},​ na pagina \pageref{fig:​hist}. Note que a figura ficou rotacionada à esquerda. Podemos corrigir refazendo o arquivo .ps ou usando a opção "​angle"​.
 +
 +<code R>
 +postscript('​histograma.ps',​horozontal=F)
 +hist(rnorm(1000))
 +dev.off()
 +</​code>​
 +
 +<​code>​
 +\begin{figure}[htbp]\centering
 +\includegraphics[width = 10cm, height = 10cm, angle = 270]{histograma.ps}
 +\caption{Histograma de uma amostra de tamanho 1000 da distribuição normal padrão.}
 +\label{fig:​hist}
 +\end{figure}
 +</​code>​
 +
 +Colocando duas figuras lado a lado. Acrescente \usepackage{subfigure} no preambulo.
 +
 +<​code>​
 +\begin{figure}[h]
 +   ​\centerline{
 +   ​\subfigure[histograma grande]{\includegraphics[width=10cm,​ height = 10cm]{histograma.ps}
 +   ​\label{fig:​hist1}}
 +   \hfil
 +   ​\subfigure[histograma pequeno]{\includegraphics[width=5cm,​ height=5cm]{histograma.ps}
 +   ​\label{fig:​hist2}}
 +   }
 +   ​\caption{Exemplo de duas figuras.}
 +   ​\label{fig:​histogramas}
 +\end{figure}
 +</​code>​
 +
 +Fazendo referencia: Figuras \ref{fig:​histogramas},​ \ref{fig:​hist1} e \ref{fig:​hist2}.
 +
 +
 +
 +
 +
  

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