\documentclass[a4paper, oneside, 10pt]{article}
\usepackage[english]{babel}
\usepackage[unicode]{hyperref}
\usepackage[utf8x]{inputenc}
\usepackage{longtable}
\usepackage{listings}
\date{\today}
\title{}
\author{}
\begin{document}


\begin{itemize}
  \item \href{http://ecor.ib.usp.br/doku.php?id=02_tutoriais:tutorial2:start}{Tutorial}
  \item \href{http://ecor.ib.usp.br/doku.php?id=01_curso_atual:exercicios2}{ Exercícios}
  \item \href{http://ecor.ib.usp.br/doku.php?id=03_apostila:03-funcoes}{ Apostila} 
\end{itemize}


\section{\texorpdfstring{2. Funções Matemáticas e Estatísticas}{2 Funoes Matematicas e Estatisticas}}
\label{sec:2_funoes_matematicas_e_estatisticas}


\subsection{\texorpdfstring{O R como uma Calculadora Fora do Comum}{O R como uma Calculadora Fora do Comum}}
\label{sec:o_r_como_uma_calculadora_fora_do_comum}


\subsubsection{\texorpdfstring{Operações Aritméticas Básicas}{Operaoes Aritmeticas Basicas}}
\label{sec:operaoes_aritmeticas_basicas}


A linha de comando do R funciona como uma calculadora.  Todas operações aritméticas
e funções matemáticas principais estão disponíveis. Exemplo:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> 4 + 9
[1] 13
> 4 - 5
[1] -1
> 4 * 5
[1] 20
> 4 / 5
[1] 0.8
> 4^5
[1] 1024
>
\end{lstlisting}



A notação básica de operações algébricas, como a aplicação hierárquica de parênteses,
também pode ser utilizada:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> (4 + 5 ) * 7 - (36/18)^3
[1] 55
> (2 * ( 2 * ( 2 * (3-4))))
[1] -8
>
\end{lstlisting}



Note que somente os parênteses podem ser utilizados nas expressões matemáticas.  As chaves (,,\{\}") e os colchetes (,,[]") têm outras funções no R:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> (2 * { 2 * [ 2 * (3-4)]})
Error: syntax error in "(2 * { 2 * ["
>
\end{lstlisting}



Por que o R é uma calculadora \textbf{fora do comum} ?  Experimente fazer a seguinte operação matemática na sua calculadora:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> 1 - (1 + 10^(-15))
\end{lstlisting}



\subsubsection{\texorpdfstring{Funções Matemáticas Comuns}{Funoes Matematicas Comuns}}
\label{sec:funoes_matematicas_comuns}


As funções matemáticas comuns também estão disponíveis e podem ser aplicadas diretamente na linha de comando:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> sqrt(9)   # Raiz Quadrada
[1] 3
> abs( - 1 )  # Módulo ou valor absoluto
[1] 1
> abs( 1 )
[1] 1
> log( 10 )   # Logaritmo natural ou neperiano
[1] 2.302585
> log( 10, base = 10) # Logaritmo base 10
[1] 1
> log10(10)   # Também logaritmo de base 10
[1] 1
> log( 10, base = 3.4076) # Logaritmo base 3.4076
[1] 1.878116
> exp( 1 )       # Exponencial
[1] 2.718282
>
\end{lstlisting}



As funções trigonométricas:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> sin(0.5*pi)    # Seno
[1] 1
> cos(2*pi)      # Coseno
[1] 1
> tan(pi)        # Tangente
[1] -1.224647e-16
>
> asin(1)       # Arco seno (em radianos)
[1] 1.570796
> asin(1) / pi * 180
[1] 90
>
> acos(0)      # Arco coseno (em radianos)
[1] 1.570796
> acos(0) / pi * 180
[1] 90
> atan(0)    # Arco tangente (em radianos)
[1] 0
> atan(0) / pi * 180
[1] 0
>
\end{lstlisting}



Funções para arredondamento:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> ceiling( 4.3478 )
[1] 5
> floor( 4.3478 )
[1] 4
> round( 4.3478 )
[1] 4
> round( 4.3478 , digits=3)
[1] 4.348
> round( 4.3478 , digits=2)
[1] 4.35
>
\end{lstlisting}



Funções matemáticas de especial interesse estatístico:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> factorial( 4 )         # Fatorial de 4
[1] 24
> choose(10, 3)          # Coeficientes binomiais: combinação de 10 3-a-3
[1] 120
>  
\end{lstlisting}



\subsubsection{\texorpdfstring{Criando Variáveis com Atribuição}{Criando Variaveis com Atribuiao}}
\label{sec:criando_variaveis_com_atribuiao}


Mais do que simples operações aritméticas,  o R permite que executemos operações \textbf{algébricas} operando sobre variáveis pré-definidas.

Para definir uma variável, basta escolher um nome (\emph{lembre-se das regras de nomes no R}) e atribuir a ela um valor:\lstset{frame=single, language=rsplus}
\begin{lstlisting}


> a = 3.6
> b = sqrt( 35 )
> c = -2.1
> a
[1] 3.6
> b
[1] 5.91608
> c
[1] -2.1
>
> a * b / c
[1] -10.14185
> b^c
[1] 0.02391820
> a + exp(c) - log(b)
[1] 1.944782
>  
> a - b * c / d
Error: object "d" not found          
\end{lstlisting}



Não esqueça de definir as variáveis previamente!!

\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios}
 \textbf{Exercício 2.1. \emph{Estimador de Pollard}}

Pollard (1971) propôs o seguinte estimador para estimar a densidade no método de
quadrantes:

$$\hat{N} = \frac{4(4n-1)}{\pi \sum_{i=1}^n \sum_{j=1}^4 r_{ij}^2} $$

onde, $r_{ij}$ é a distância de árvore do quadrante $j$ no 
ponto $i$ ao centro do ponto quadrante e $n$ é o número de pontos quadrantes.

A variância desse estimador é:

$$Var(\hat{N_p}) = \frac{\hat{N_p}}{4n-2}$$

Imagine que foram amostrados 30 quadrantes, e que o valor da soma do quadrado das distâncias de cada árvore ao centro de seu quadrante foi de:

$$\sum_{i=1}^{30} \sum_{j=1}^4 r_{ij}^2 = 2531,794$$
\begin{enumerate}
  \item Qual a densidade estimada? 
  \item Qual a variância?
\end{enumerate}
 \textbf{Exercício 2.2. \emph{Área transversal de uma Árvore}} 

A área transversal de uma árvore é calculada assumindo que a secção transversal
do tronco à altura do peito (1,3m) é perfeitamente circular.
Se o diâmetro à altura do peito (DAP) de uma árvore for 13.5cm, qual
a área transversal?

Se uma árvore possui três fustes com DAPs de: 7cm, 9cm e 12cm, qual
a sua área transversal? \textbf{Exercício 2.3. \emph{Área transversal de uma Árvore (Revisitado)}} 

Se uma árvore possui três fustes com DAPs de: 7cm, 9cm e 12cm, qual
o diâmetro (único) que é equivalente à sua área transversal? \textbf{Exercício 2.4. \emph{Cálculo da Biomassa de Árvores do Cerrado}}

O modelo alométrico de biomassa ajustado para árvores do Cerradão
estabele que a biomassa é dada pela expressão:

$$\hat{b} = e^{-1,7953} d^{2.2974}$$

onde \texttt{b} é a biomassa em \emph{kg} e
\texttt{d} é o DAP em \emph{cm}.

Já um outro modelo para biomassa das árvores na 
mesma situação tem a forma:

$$\hat{ln(b)} = -2.6464 + 1,996ln(d) + 0,7558ln(h)$$

onde \texttt{h} é a altura das árvores em \emph{m}.

Para uma árvore com DAP de 15\emph{cm} e altura de 12\emph{m}, os
modelos resultarão em estimativas muito distintas?

\subsubsection{\texorpdfstring{Mantendo a Coerência Lógica-Matemática}{Mantendo a Coerencia LogicaMatematica}}
\label{sec:mantendo_a_coerencia_logicamatematica}


O R também lida com operações matemáticas que envolvem \textbf{elementos infinitos} e \textbf{elementos indeterminados}:
\begin{verbatim}
> 1/0
[1] Inf
> -5/0
[1] -Inf
> 500000000000000000/Inf
[1] 0
> 0/0
[1] NaN
> Inf/Inf
[1] NaN
> log(0)
[1] -Inf
> exp(-Inf)
[1] 0
> sqrt(Inf)
[1] Inf
> sqrt(-1)
[1] NaN
Warning message:
NaNs produced in: sqrt(-1)
> 2 * NA
[1] NA
> 2 * NaN
[1] NaN
> NA / 10
[1] NA
> NaN / -1
[1] NaN
\end{verbatim}


Note que determinadas \textbf{palavras} (além do nome das funções) estão reservadas no R, pois são utilizadas com significado especial:
\begin{itemize}
  \item \texttt{pi}  - constante  pi = 3.141593 ;
  \item \texttt{Inf} - infinito;
  \item \texttt{NaN} - indeterminado (Not a Number), normalmente resultado de uma operação matemática indeterminada;
  \item \texttt{NA}  - indeterminado (Not Available), normalmente caracterizando uma observação perdida (\emph{missing value}).
\end{itemize}


Na operações matemáticas, \texttt{NaN} e \texttt{NA} atuam sempre como \textbf{indeterminado}. \emph{\textbf{2.5. Exercício Conceitual:} Criando Variáveis com Nomes Reservados} 

O que acontece se você criar uma variável com o nome \texttt{pi}?  Por exemplo, \lstset{frame=single, language=rsplus}
\begin{lstlisting}

> pi = 10
\end{lstlisting}



O que acontece com a constante \emph{pi}?

E se for criada uma constante de nome \texttt{sqrt}?  O que acontece com a função raíz quadrada (\texttt{sqrt()})?

\textbf{DICA:} O que faz a função \texttt{search}, no comando:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> search()
\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios2}
 \emph{\textbf{2.6. Exercício Conceitual:} O que é uma Observação Perdida}

Como se caracteriza uma \textbf{observação perdida}?

Quando o diâmetro de uma árvore deve ter o valor \textbf{zero} ou o valor \textbf{NA}?

E o peso de um animal?  E a biomassa de uma floresta?  E a espécie de uma ave?

\subsection{\texorpdfstring{O R como uma Calculadora Vetorial}{O R como uma Calculadora Vetorial}}
\label{sec:o_r_como_uma_calculadora_vetorial}


\subsubsection{\texorpdfstring{Criação de Vetores}{Criaao de Vetores}}
\label{sec:criaao_de_vetores}


O R, e a linguagem S, foram criados para operar não apenas \emph{número-a-número} como uma calculadora convencional.

O R é um ambiente \textbf{vetorial},  isto é, quase todas suas operações atuam sobre um \emph{conjunto de valores}, 
que genericamente chamaremos de vetores\footnote{No R, ,,vetores" são uma classe de objetos definida simplesmente como conjuntos de elementos de um mesmo tipo. Os vetores do R não correspondem a vetores de valores da álgebra matricial, para os quais há outra classe de objetos, que é ,,matrix"}.

Uma definição mais detalhada dos vetores está \href{http://ecor.ib.usp.br/doku.php?id=03_apostila:04-dados\%23vetores}{na seção sobre manipulação de dados}. Aqui fornecemos apenas algumas definições e funções importantes para compreender as operações numéricas com vetores.

\paragraph{\texorpdfstring{Concatenação de Elementos em um Vetor: a Função c}{Concatenaao de Elementos em um Vetor a Funao c}}
\label{sec:concatenaao_de_elementos_em_um_vetor_a_funao_c}


Para criar um vetor, podemos usar a função \texttt{c} (c = colar, concatenar).  Essa função simplesmente junta todos
os argumentos dados a ela, formando um vetor:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> a = c(1, 10, 3.4, pi, pi/4, exp(-1), log( 2.23 ), sin(pi/7) )
> a
[1]  1.0000000 10.0000000  3.4000000  3.1415927  0.7853982  0.3678794  0.8020016  0.4338837
> 
\end{lstlisting}



\paragraph{\texorpdfstring{Criação de Sequências: Operador : e Função seq}{Criaao de Sequencias Operador  e Funao seq}}
\label{sec:criaao_de_sequencias_operador__e_funao_seq}


Para criar vetores de números com intervalo fixo unitário (intervalo de 1) se utiliza o \emph{operador seqüencial} (\texttt{:}):\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> b = 1:8
> b
[1] 1 2 3 4 5 6 7 8
> c = 20:32
> c
 [1] 20 21 22 23 24 25 26 27 28 29 30 31 32
> d = 2.5:10
> d
[1] 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5
\end{lstlisting}



Uma forma mais flexível de criar seqüências de números (inteiros ou reais) é usando a função \texttt{'seq}':\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> seq(10, 30)
 [1] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
> seq(10, 30, by=2)
 [1] 10 12 14 16 18 20 22 24 26 28 30
> seq(1.5, 7.9, length=20)
 [1] 1.500000 1.836842 2.173684 2.510526 2.847368 3.184211 3.521053 3.857895
 [9] 4.194737 4.531579 4.868421 5.205263 5.542105 5.878947 6.215789 6.552632
[17] 6.889474 7.226316 7.563158 7.900000
\end{lstlisting}



\paragraph{\texorpdfstring{Vetores de Valores Repetidos: Função rep}{Vetores de Valores Repetidos Funao rep}}
\label{sec:vetores_de_valores_repetidos_funao_rep}


Também é fácil criar uma seqüência de números repetidos utilizando a função \texttt{'rep}':\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> rep(5, 3)
[1] 5 5 5
> rep(1:5, 3)
 [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
> rep(1:5,each=3)
 [1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5
>
\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios3}
 \emph{\textbf{Exercício 2.7.} Palmeira com Muitos Fustes I}

Uma palmeira perfilhada possui 10 fustes com os seguintes diâmetros: 5, 6, 7, 5, 10, 11, 6, 8, 9 e 7.

Crie um vetor \texttt{'dap}' com os diâmetros acimas e uma seqüência que enumera os fustes.

\subsubsection{\texorpdfstring{Vetores: Operações Matemáticas}{Vetores Operaoes Matematicas}}
\label{sec:vetores_operaoes_matematicas}


Todas operações matemáticas aplicadas sobre um vetor, serão aplicadas sobre cada elemento desse vetor:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> 2 * a
[1]  2.0000000 20.0000000  6.8000000  6.2831853  1.5707963  0.7357589  1.6040032
[8]  0.8677675
> sqrt( a )
[1] 1.0000000 3.1622777 1.8439089 1.7724539 0.8862269 0.6065307 0.8955454
[8] 0.6586985
>
> log( a )
[1]  0.0000000  2.3025851  1.2237754  1.1447299 -0.2415645 -1.0000000 -0.2206447
[8] -0.8349787
>             
\end{lstlisting}



Se as variáveis que trabalhamos são vetores, operações matemáticas entre variáveis serão realizadas
pareando os elementos dos vetores:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> a* b
[1]  1.000000 20.000000 10.200000 12.566371  3.926991  2.207277  5.614011
[8]  3.471070
> a - b
[1]  0.0000000  8.0000000  0.4000000 -0.8584073 -4.2146018 -5.6321206 -6.1979984
[8] -7.5661163
> a^(1/b)
[1] 1.0000000 3.1622777 1.5036946 1.3313354 0.9528356 0.8464817 0.9689709
[8] 0.9008898
>  
> sqrt( a )
[1] 1.0000000 3.1622777 1.8439089 1.7724539 0.8862269 0.6065307 0.8955454
[8] 0.6586985
> log( b )
[1] 0.0000000 0.6931472 1.0986123 1.3862944 1.6094379 1.7917595 1.9459101
[8] 2.0794415
>             
\end{lstlisting}



\paragraph{\texorpdfstring{Comprimento de Vetores e a Função length}{Comprimento de Vetores e a Funao length}}
\label{sec:comprimento_de_vetores_e_a_funao_length}


A função \texttt{length} retorna o número de elementos de um objeto:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> a <- seq(from=0, to=10, by=2)
> a
[1]  0  2  4  6  8 10
> length(a)
[1] 6
> length(1:20)
[1] 20
> length(rep(1:10,each=10))
[1] 100
>                    
\end{lstlisting}



\paragraph{\texorpdfstring{A Regra da Ciclagem}{A Regra da Ciclagem}}
\label{sec:a_regra_da_ciclagem}


O comprimento é muito importante para as operações vetoriais, pois o R permite operações entre dois vetores de comprimentos diferentes, com a seguinte regra:\textbf{Ciclagem de Valores} Operações entre vetores de comprimentos diferentes são realizadas pareando-se seus elementos. Os elementos do vetor mais curto são repetidos sequencialmente até que a operação seja aplicada a todos os elementos do vetor mais longo

Quando o comprimento do vetor maior não é múltiplo do comprimento do maior, o R retorna o resultado e um aviso: \lstset{frame=single, language=rsplus}
\begin{lstlisting}

> b
 [1] 0 0 0 0 0 1 1 1 1 1
> c
[1] 1 2 3
> c*b
 [1] 0 0 0 0 0 3 1 2 3 1
Warning message:
In c * b : longer object length is not a multiple of shorter object length
> length(b)
[1] 10
> length(c)
[1] 3
>                            
\end{lstlisting}



Mas se o comprimento do vetor maior é um múltiplo do maior, o R retorna apenas o resultado, sem nenhum alerta:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> a
[1] 1 2
> b
 [1] 0 0 0 0 0 1 1 1 1 1
> a*b
 [1] 0 0 0 0 0 2 1 2 1 2
> length(b)/length(a)
[1] 5
>
\end{lstlisting}



Portanto \textbf{muito cuidado com as operações entre vetores de diferentes comprimentos}. A regra da ciclagem é um recurso poderoso da linguagem R \footnote{A vantagem mais óbvia da regra da ciclagem é a possibilidade de multiplicação de um vetor por um valor único. Você compreende por que?}, mas se você não tiver clareza do que deseja fazer, pode obter resultados indesejados.

\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios4}
 \emph{\textbf{Exercício 2.8. } Palmeira com Muitos Fustes II}

Uma palmeira perfilhada possui 10 fustes com os seguintes diâmetros: 5, 6, 7, 5, 10, 11, 6, 8, 9 e 7.
\begin{enumerate}
  \item Calcule a área transversal de cada fuste dessa palmeira. Guarde este resultado em novo objeto.
  \item Calcule a média das áreas transversais, sem usar a função \texttt{mean}.
  \item Calcule a variância das áreas transversais, sem usar a função \texttt{var}
\end{enumerate}
 \emph{\textbf{Exercício 2.9.} Bits e Bytes}

Como construir uma seqüência que representa o aumento do número
de bits por byte de computador, quando se dobra o tamanho dos bytes?

Essa seqüência numérica parte do 2 e dobra os valores a cada passo.

\subsubsection{\texorpdfstring{Vetores: Operações Estatísticas}{Vetores Operaoes Estatisticas}}
\label{sec:vetores_operaoes_estatisticas}


As funções matemáticas sobre vetores operam \emph{elemento-a-elemento}.  Já as funções estatísticas operam no vetor \textbf{como um todo}:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> mean( a )
[1] 2.491344
> var( b )
[1] 6
> max( c )
[1] 32
> sd( a )
[1] 3.259248
> sum( c )
[1] 338
> min( b )
[1] 1
> range( c )
[1] 20 32
>      
\end{lstlisting}



Algumas funções úteis que não são estatísticas, mas operam no vetor são:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> a
[1]  1.0000000 10.0000000  3.4000000  3.1415927  0.7853982  0.3678794  0.8020016
[8]  0.4338837
> sort(a)
[1]  0.3678794  0.4338837  0.7853982  0.8020016  1.0000000  3.1415927  3.4000000
[8] 10.0000000
> rev(sort(a))
[1] 10.0000000  3.4000000  3.1415927  1.0000000  0.8020016  0.7853982  0.4338837
[8]  0.3678794
> cumsum(sort(a))
[1]  0.3678794  0.8017632  1.5871613  2.3891629  3.3891629  6.5307556  9.9307556
[8] 19.9307556
> cumsum(a)
[1]  1.00000 11.00000 14.40000 17.54159 18.32699 18.69487 19.49687 19.93076
> diff(a)
[1]  9.0000000 -6.6000000 -0.2584073 -2.3561945 -0.4175187  0.4341221 -0.3681178
> diff( seq(10, 34, length=15) )
 [1] 1.714286 1.714286 1.714286 1.714286 1.714286 1.714286 1.714286 1.714286
 [9] 1.714286 1.714286 1.714286 1.714286 1.714286 1.714286
> 
\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios5}
 \emph{\textbf{Exercício 2.10.} Conta de Luz}

As leituras mensais do medidor de consumo de eletricidade de uma casa foram:\begin{longtable}{|l|l|l|l|l|l|l|l|l|l|l|l|}
\hline
\textbf{Jan} & \textbf{Fev} & \textbf{Mar} & \textbf{Abr} & \textbf{Mai} & \textbf{Jun} & \textbf{Jul} & \textbf{Ago} & \textbf{Set} & \textbf{Out} & \textbf{Nov} & \textbf{Dez} \\ 
\hline
 
9839 & 10149 & 10486 & 10746 & 11264 & 11684 & 12082 & 12599 & 13004 & 13350 & 13717 & 14052 \\ 
\hline
 
\end{longtable}


\begin{enumerate}
  \item Calcule o consumo de cada mês neste período.
  \item Qual foi o máximo e mínimo de consumo mensal?
  \item Qual a média, mediana e variância dos consumos mensais?
\end{enumerate}


\subsection{\texorpdfstring{As Funções no R}{As Funoes no R}}
\label{sec:as_funoes_no_r}


Já foi visto que ao se digitar o nome de uma função na linha de comando, o R retorna o \textbf{código} da função. Veja a diferença de:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> ls()
\end{lstlisting}



para:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> ls
\end{lstlisting}



A maioria das funções precisa de certas \textbf{informações} para orientar o seu procedimento, tais informações são chamados de \textbf{argumentos}.  

Os argumentos de qualquer função são detalhadamente explicados nas páginas de ajuda sobre a função.  Mas para uma rápida consulta dos argumentos de uma função podemos usar a função \texttt{'args}':\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> args(ls)
function (name, pos = -1, envir = as.environment(pos), all.names = FALSE,
    pattern)
NULL
> args(q)
function (save = "default", status = 0, runLast = TRUE)
NULL
> args(save.image)
function (file = ".RData", version = NULL, ascii = FALSE, compress = !ascii,
    safe = TRUE)
NULL
>    
\end{lstlisting}



Algumas funções, entretanto, são primitivas ou internas e seus argumentos não são apresentados.  Geralmente, nesses casos os argumentos  são bastante óbvios:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> args(sin)
NULL
> sin
.Primitive("sin")
>
\end{lstlisting}



Outras funções simplesmente não possuem argumentos:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> args(getwd)
function ()
NULL
> getwd
function ()
.Internal(getwd())
<environment: namespace:base>
>                                
\end{lstlisting}



Ao observar o resultado da função \texttt{'args}', você notará que alguns argumentos são seguidos de uma expressão que se inicia com o sinal de igualdade (\texttt{'=}').  A expressão após o sinal de igualdade é chamada de \textbf{valor default} do argumento.   Se o usuário não informar o valor para um dado argumento, a função usa o valor default.  Como exemplo veja a função \texttt{'save.image}':\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> args(save.image)
function (file = ".RData", version = NULL, ascii = FALSE, compress = !ascii,
    safe = TRUE)
NULL
> 
\end{lstlisting}



Se o usuário simplesmente evocar a função \texttt{'save.image()}', sem informar o nome do arquivo onde a área de trabalho deve ser gravada, o R gravará as informações num arquivo com nome \texttt{'.RData}'.

\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios6}
 \emph{\textbf{Exercício 2.11.} Argumentos de Funções Estatísticas }
Quais são os argumentos (e seus valores default) das seguintes funções:
\begin{itemize}
  \item \textbf{mean}
  \item \textbf{sd}
  \item \textbf{range}
  \item \textbf{cumsum}
\end{itemize}
 \emph{\textbf{Exercício 2.12.} Argumentos de Funções de Uso Comum }
Quais são os argumentos (e seus valores default) das funções:
\begin{itemize}
  \item \textbf{sort}
  \item \textbf{log}
  \item \textbf{seq}
\end{itemize}


O que é o argumento \textbf{,,. . ."}?

\subsection{\texorpdfstring{Distribuições Estatísticas: Funções no R}{Distribuioes Estatisticas Funoes no R}}
\label{sec:distribuioes_estatisticas_funoes_no_r}


Sendo um ambiente para análise de dados, o R dispõe de um grande conjunto de funções para trabalhar com \emph{Distribuições Estatísticas}.  Essas funções ajudam não só na análise de dados, como também permitem a \emph{simulação} de dados.

\subsubsection{\texorpdfstring{Distribuição Normal}{Distribuiao Normal}}
\label{sec:distribuiao_normal}


A distribuição Normal é a distribuição central da teoria estatística. Para gerar uma amostra de observações de uma distribuição normal utilizamos a função \texttt{'rnorm}':\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> args( rnorm )
function (n, mean = 0, sd = 1)
NULL
> vn1 = rnorm( 1000, mean = 40,  sd = 9 )
> mean( vn1 )
[1] 39.47248
> sd( vn1 )
[1] 8.523735
> range( vn1 )
[1] 14.93126 62.11959
>
> vn2 = rnorm( 100000, mean = 40,  sd = 9 )
> mean( vn2 )
[1] 40.02547
> sd( vn2 )
[1] 9.025218
> range( vn2 )
[1]  3.40680 78.25496
>     
\end{lstlisting}



Se quisermos saber a \emph{probabilidade acumulada} até um certo valor de uma variável com distribuição normal utilizamos a função \texttt{'pnorm}':\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> args(pnorm )
function (q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
NULL
>
> pnorm( 1.96, mean = 0 , sd = 1 )
[1] 0.9750021
> pnorm( 1.96 )
[1] 0.9750021
>
> pnorm( 27, mean = 20, sd = 7 )
[1] 0.8413447
> pnorm( 13, mean = 20, sd = 7 )
[1] 0.1586553
> 
\end{lstlisting}



Se quisermos obter o valor de um \emph{quantil} da distribuição normal utilizamos a função \texttt{'qnorm}':\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> args( qnorm )
function (p, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
NULL
> qnorm( 0.90 )
[1] 1.281552
> qnorm( 0.30 )
[1] -0.5244005
>
> qnorm( 0.90, 20, 7)
[1] 28.97086
> qnorm( 0.30, 20, 7)
[1] 16.32920
>  
\end{lstlisting}



A função \texttt{'dnorm}' fornece a \emph{densidade probabilística} para cada valor de uma variável Normal:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> args( dnorm )
function (x, mean = 0, sd = 1, log = FALSE)
NULL
> x = seq(-4, 4, length=10000)             # Seqüência de -4 a 4 com 10.000 valores
>
> plot(x, dnorm(x))                        # Curva da Dist. Normal com média 0 e desvio padrão 1
> points(x, dnorm(x, sd=2))                # Curva da Dist. Normal com média 0 e desvio padrão 2 (adicionada ao gráfico)
>
\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios7}
 \emph{\textbf{Exercício 2.13} Amplitude Normal}

Tomando uma variável que segue a Distribuição Normal, o que acontence com a \emph{amplitude de variação} dos dados à medida que o tamanho da amostra cresce (por exemplo n= 100, 1000, 10000)?

\textbf{Dica:} use as funções \texttt{range} e \texttt{diff} \emph{\textbf{Exercício 2.14.} Intervalo Normal I }
Qual o intervalo da Distribuição Normal Padronizada que têm a média no centro e contem 50\% das observações? \emph{\textbf{Exercício 2.15.} Intervalo Normal II }
Qual a probabilidade de uma observação da variável Normal Padronizada estar no intervalo [-1.96 , 1.96]?

\subsubsection{\texorpdfstring{As Funções que Operam em Distribuições Estatísticas}{As Funoes que Operam em Distribuioes Estatisticas}}
\label{sec:as_funoes_que_operam_em_distribuioes_estatisticas}


O que foi apresentado para Distribuição Normal pode ser generalizado para todas as distribuições que o R trabalha.

Há quatro funções para se trabalhar com distribuições estatísticas:
\begin{itemize}
  \item \textbf{d}\emph{distrib} - retorna a \emph{densidade probabilística} para um dado valor da variável;
  \item \textbf{p}\emph{distrib} - retorna a \emph{probabilidade acumulada} para um dado valor da variável;
  \item \textbf{q}\emph{distrib} - retorna o \emph{quantil} para um dado valor de probabilidade acumulada;
  \item \textbf{r}\emph{distrib} - retorna \emph{valores} (números aleatórios) gerados a partir da distribuição;
\end{itemize}


No caso da Distribuição Normal: \emph{distrib} = \texttt{norm}.  Para outras distribuições temos: \textbf{DISTRIBUIÇÕES ESTATÍSTICAS NO R}\begin{longtable}{|l|l|l|}
\hline
\textbf{ Distribuição } & \textbf{ Nome no R } & \textbf{ Parâmetros\footnote{os argumentos de cada função incluem estes parâmetros, entre outras coisas} } \\ 
\hline
 
 beta 	        &  beta       &  shape1, shape2, ncp  \\ 
\hline
 
 binomial      &  binom      &  size, prob  \\ 
\hline
 
 Cauchy        &  cauchy     &  location, scale  \\ 
\hline
 
 qui-quadrado  &  chisq      &  df, ncp  \\ 
\hline
 
 exponential   &  exp        &  rate  \\ 
\hline
 
 F             &  f          &  df1, df2, ncp  \\ 
\hline
 
 gamma         &  gamma      &  shape, scale  \\ 
\hline
 
 geométrica    &  geom       &  prob  \\ 
\hline
 
 hypergeométrica  &  hyper   &  m, n, k  \\ 
\hline
 
 log-normal    &  lnorm      &  meanlog, sdlog  \\ 
\hline
 
 logística     &  logis      &  location, scale  \\ 
\hline
 
 binomial negativa  &  nbinom      &  size, prob  \\ 
\hline
 
 normal        &  norm       &  mean, sd  \\ 
\hline
 
 Poisson       &  pois       &  lambda  \\ 
\hline
 
 t de Student  &  t          &  df, ncp  \\ 
\hline
 
 uniforme      &  unif       &  min, max  \\ 
\hline
 
 Weibull       &  weibull    &  shape, scale  \\ 
\hline
 
 Wilcoxon      &  wilcox     &  m, n   \\ 
\hline
 
\end{longtable}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios8}
 \emph{\textbf{Exercício 2.16.} Teste t }
Você realizou um teste \emph{t} de Student bilateral e obteve o valor \emph{t = 2.2} com 19 graus de liberdade.  

O teste é significativo ao nível de probabilidade de 5\%?   E se o valor observado fosse \emph{t = 1.9}? \emph{\textbf{Exercício 2.17.} Teste F }
Você realizou um teste \emph{F} e obteve o valor \emph{F = 2.2} com 19 graus de liberdade no numerador e 24 graus de liberdade no denominador.  

O teste é significativo ao nível de probabilidade de 5\%?   E se o valor observado fosse \emph{F = 2.5}? \emph{\textbf{Exercício 2.18.} Padrão Espacial I }
Gere duas amostras (p.ex.: \emph{x} e \emph{y}) de tamanho 1000 (n=1000) de números da distribuição Uniforme.

Faça um gráfico plotando uma amostra contra a outra (\texttt{plot(x,y)}).  Qual o padrão espacial observado?

Você consegue explicá-lo? \emph{\textbf{Exercício 2.19.} Padrão Espacial II }
Gere duas amostras (p.ex.: \emph{xp} e \emph{yp}) de tamanho 10 (n=10) de números da distribuição Uniforme, com valor mínimo de zero e máximo de 100.

Gere duas amostras (p.ex.: \emph{xf} e \emph{yf}) de tamanho 1000 (n=1000) de números da distribuição Normal com média zero e desvio padrão 2)

Faça um gráfico plotando a soma das amostras X (\emph{xp+xf}) contra a soma das amostras Y (\emph{yp+yf}) (\texttt{plot(xp+xf,yp+yf)}).

Qual o padrão espacial observado?  Você consegue explicá-lo? \emph{\textbf{Exercício 2.20.} Gráfico Quantil-Quantil }
Construa uma seqüência \textbf{ordenada} de 1000 números entre 0 e 1:
\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> p = seq(0, 1, length=1000)
\end{lstlisting}



O vetor \texttt{'p}' representa um vetor de probabilidades acumuladas.

Gere 1000 números aleatórios da distribuição Normal com média e desvio-padrão 1 (um) e coloque os números em ordem:\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> x = sort( rnorm(1000, mean=1) )
\end{lstlisting}



Faça um gráfico dos quantis da distribuição Normal, tomando o vetor \texttt{'p}' de probabilidades, contra os valores de \texttt{'x}':\lstset{frame=single, language=rsplus}
\begin{lstlisting}

> plot( qnorm(p, mean=1), x )
\end{lstlisting}



Como é o gráfico resultante?  

Repita o mesmo processo para a distribuição Exponencial ( \texttt{'rexp}' ), cujo valor \emph{default} resulta em média = 1 .  Como é o gráfico resultante? Por que?



\end{document}
