Ricardo Alves de Olinda


http://lattes.cnpq.br/7767223263366578

Universidade Estadual da Paraíba

http://departamentos.uepb.edu.br/estatistica/corpo-docente/



##Programa de Pós-Graduação em Saúde Coletiva - PPGSC

##CURSO BÁSICO DE R: INTRODUÇÃO AO SOFTWARE DE ANÁLISE ESTATÍSTICA

##Universidade Católica de Santos - UNISANTOS



Use R!

Use R!



Introdu??o b?sica sobre o software R, pode ser consultada Victor Landeiro e Paulo Justiniano



Uma breve revisão sobre o ambiente estat?stico R



Introdu??o ao ambiente R



O R ? ao mesmo tempo uma linguagem de programa??o e um ambiente para computa??o estat?stica e gr?fica. Algumas das suas principais caracter?sticas s?o: o seu car?ter gratuito e a sua disponibilidade para uma gama bastante variada de sistemas operacionais. Apesar do seu car?ter gratuito o R ? uma ferramenta bastante poderosa com boa capacidade de programa??o. Ele tem sido utilizado por pesquisadores das mais diversas ?reas na an?lise de dados. O objetivo deste texto ? introduzir aos alunos da disciplina Introdu??o ? Bioestat?stica o uso do R. Esperamos com isto tornar mais interessante o curso de Introdu??o ? Bioestat?stica, permitindo ao aluno utilizar as t?cnicas estat?sticas aprendidas na disciplina e aprimorar o entendimento dos conceitos estat?sticos estudados.


Como instalar o R?


1? passo) V? ao endere?o (https://www.r-project.org) da p?gina principal do projeto R e clique em download R, como mostrado na figura seguinte.



2? passo) Escolha o espelho de sua prefer?ncia, no Brasil, atualmente, existem 8



3? passo) Clique em um dos espelhos e abrir? uma nova tela. Se voc? utiliza plataforma Windows clique em Windows, caso contr?rio clique na plataforma conveniente.



4? passo) Clique em base.


5? passo) Ap?s clicar em base aparecer? a seguinte tela. Clique em Download R 3.4.1 for Windows



6? passo) Na nova janela clique na op??o referente a salvar o arquivo e selecione a pasta onde o arquivo ser? salvo. Depois ? s? execut?-lo.



Como instalar o RStudio?



1? passo ) V? ao endere?o (https://www.rstudio.com) da p?gina principal do projeto RStudio e clique em download RStudio, como mostrado na figura seguinte.



2? passo ) Des?a a barra de enrrolagem, no final da p?gina, clique na op??o referente a salvar o arquivo e selecione a pasta onde o arquivo ser? salvo. Depois ? s? execut?-lo.




O s?mbolo > indica a linha de comando (“prompt”) na qual ser?o digitados os comandos para execu??o das an?lises. Os comandos aparecem escritos em azul e os seus resultados (as respostas) em preto. Por exemplo, para calcular a raiz quadrada de 25 digite o comando sqrt(16) na linha de comandos e tecle Ctrl+R, Ctrl+Enter ou clicar na seta Run da janela superior esquerda. < br/>

sqrt(25)
## [1] 5

Importante: Ao inv?s de digitar sqrt(25) na linha de comandos voc? pode copiar e colar o texto sqrt(25).

Observe que a linha de comando est? em azul e a linha de resposta em preto. Mais adiante voc? entender? o s?mbolo [1] . Para executar outros comandos voc? deve proceder desta forma: digitar o comando e teclar Ctrl+R, Ctrl+Enter ou clicar na seta Run da janela superior esquerda.

Algumas vezes na linha de comando aparece o sinal + . Ele indica que o comando est? incompleto e esperando o restante do mesmo. Voc? deve digitar o restante do comando em frente ao sinal + e executar. Por exemplo, veja o que acontece ao executar o sqrt(25

sqrt(25
    )
## [1] 5

Caso voc? n?o queira completar a a??o e sim interromp?-la, tecle em STOP no menu principal do R.

Coment?rios no R


O simbolo # (jogo da velha) ? utilizado para inserir coment?rios. Significa que tudo que est? depois do jogo da velha antes de executar o comando ? coment?rio.

Exemplo:

sqrt(25) # calcula a raiz quadrada de vinte e cinco
## [1] 5

A frase calcula a raiz quadrada de vinte e cinco ? um coment?rio.

Separador de casas decimais


Para separar a parte inteira da parte decimal (separador de decimais) o R utiliza ponto.

Exemplo:

sqrt(26) 
## [1] 5.09902

Entanda o resultado como 5,196152.

Utilizando os Comandos de Ajuda no RStudio


Durante a utiliza??o do software ? poss?vel consultar a sintaxe de algum comando ou obter mais informa??es sobre determinada fun??o. Para isso o R conta com o comando help. A sintaxe do comando ? a seguinte:

\(>help(nome\; da\; fun??o)\)

\(?nome\;da\;fun??o\)

As duas sintaxes acima s?o equivalentes, ou seja, produzem o mesmo resultado. Por exemplo, para saber mais sobre a fun??o sqrt. No RStudio, janela inferior direita, possui uma aba help que o usu?rio pode descrever diretamente o nome da fun??o para obter a ajuda.

Os arquivos de ajuda do R s?o geralmente compostos de 10 t?picos:

  • Description - descri??o sum?ria da fun??o.

  • Usage - define como utilizar a fun??o e quais s?o seus argumentos.

  • Arguments - indica o significado de cada argumento.

  • Details - indica detalhes ao quais se devem estar atendo ao usar a fun??o.

  • Value - indica como ? apresentado o resultado da fun??o.

  • Note - notas sobre a fun??o.

  • Authors - lista os autores da fun??o.

  • References - refer?ncias bibliogr?ficas sobre a fun??o.

  • See Also - lista fun??es do R relacionadas.

  • Examples - Exemplos de uso da fun??o.


Voc? tamb?m pode buscar ajuda na internet, no site do R, com o comando RsiteSearch( ). Para utilizar esta fun??o voc? precisa estar conectado ? internet. Por exemplo, para buscar ajuda sobre fun??es para construir t?buas de vida (“life table”).

\(>RSiteSearch(``life\;table")\)

Como citar o R ou os pacotes do R em suas publica??es e trabalhos?

A fun??o citation( ) indica como citar o R.

citation()
## To cite R in publications use:
## 
##   R Core Team (2023). _R: A Language and Environment for Statistical
##   Computing_. R Foundation for Statistical Computing, Vienna, Austria.
##   <https://www.R-project.org/>.
## 
## A BibTeX entry for LaTeX users is
## 
##   @Manual{,
##     title = {R: A Language and Environment for Statistical Computing},
##     author = {{R Core Team}},
##     organization = {R Foundation for Statistical Computing},
##     address = {Vienna, Austria},
##     year = {2023},
##     url = {https://www.R-project.org/},
##   }
## 
## We have invested a lot of time and effort in creating R, please cite it
## when using it for data analysis. See also 'citation("pkgname")' for
## citing R packages.

Objetos do R


O R opera com entidades chamadas de objetos. Objetos podem ser vetores, matrizes, fun??es ou estruturas mais gerais. Durante uma sess?o do R objetos s?o criados e armazenados por nome.

Por exemplo, vamos criar um objeto de nome raiz no qual vamos armazenar a raiz quadrada de 25, para isto fa?a:

raiz <- sqrt(25) # l?-se raiz recebe raiz quadrada de 25
raiz             # mostra o conte?do da raiz
## [1] 5

Ao inv?s do s?mbolo \(<-\) voc? pode usar o sinal de igualdade.

raiz = sqrt(25) 
raiz             
## [1] 5

Vetores


Os vetores s?o os objetos mais importantes do R. Podem ser formados por n?meros, nomes, elementos l?gicos, desde que todos os elementos sejam do mesmo tipo.

Criando Vetores


Podemos entrar com dados definindo vetores com o comando c( ) (“c” corresponde a concatenate) ou usando fun??es que criam vetores. Veja e experimente com os seguintes exemplos.

Para criar um vetor com as observa??es 23, 21.8, 26.1, 27, referentes as idades, em anos, de 4 pessoas, fa?a:

idade <- c(23,21.8,26.1,27) # cria o vetor idade
idade                      # imprime os elementos do vetor idade
## [1] 23.0 21.8 26.1 27.0

Suponha que os elementos do vetor acima s?o as idades de Maria, Pedro, Jo?o e Rosa. Para criar um vetor com estes nomes:

nome <- c("Maria", "Pedro", "Jo?o", "Madalena") 
nome                    
## [1] "Maria"    "Pedro"    "Jo?o"     "Madalena"

Ao criar um vetor de nomes (caracteres), os elementos devem estar entre aspas duplas.

Vetores faltantes no R


Vamos agora construir um vetor com o n?mero de anos de estudo dessas quatro pessoas. Sabemos que Maria, Pedro e Jo?o possuem respectivamente 10, 12 e 8 anos de estudo, mas esta informa??o n?o ? conhecida para Madalena. Como fazer neste caso?


O R utiliza o s?mbolo NA (“not available”) para observa??es faltantes.

anosestudo <- c(10, 12, 18, NA) 
anosestudo                    
## [1] 10 12 18 NA


Instalar Pacotes no RStudio


Instando pacotes

O R ? como se fosse um sistema, no qual podemos baixar aplicativos. Imagine o R como o Android ou o IOS de seu celular; se eu quero realizar uma metan?lise, eu preciso instalar um aplicativo que realiza metan?lise por exemplo. Para esses aplicativos damos o nome de “pacotes”. O pacote que utilizaremos ? o pacote “meta”

1 - Abra o Rstudio

2 - Siga os passos da figura abaixo:

  1. Clique em Packages;

  2. Clique em Install;

  3. Ser? aberta a caixa para instala??o dos complementos e ent?o escreva o nome do complemento a instalar (fBasics);

  4. Clique em install

3 - Ap?s instalar, se certifique que o pacote meta est? habilitado, ou seja, com o “check” na caixa ao lado de seu nome. A instala??o do pacote ? necess?ria apenas uma vez, contudo sempre que for reiniciar o R, ? necess?rio habilitar o pacote marcando essa op??o.

Nomeando os Objetos


Os nomes dos objetos devem come?ar com letras e podem conter letras, n?meros e pontos. Ao nomear objetos evite o uso de cedilha e acentos e lembre-se tamb?m que o R faz a distin??o entre letras mai?sculas e min?sculas. O R possui alguns nomes reservados, isto ?, nomes que n?o podem ser utilizados pelo usu?rio para nomear objetos porque t?m significado especial na linguagem R. Um deles ? o nome NA que representa observa??es faltantes ou n?o dispon?veis. Outros exemplos s?o: FALSE, .Inf, NaN, NULL, TRUE, break, else, for, function, if, in, next, repeat, while.

Opera??es com Vetores

Vetores podem ser utilizados em opera??es aritm?ticas realizadas para cada elemento. Considerando o vetor idade em anos, vamos obter as idades em meses.

idademes <- idade*12
idademes                    
## [1] 276.0 261.6 313.2 324.0

A simbologia utilizada pelo R para operadores aritm?ticos elementares ? apresentada na tabela seguinte:

Nomeando os Objetos


Iniciamos carregando os pacotes necess?rios para as an?lises

library(fBasics) # Estat?stica descritiva
library(MASS) # Estat?stica descritiva
library(moments) # Estat?stica descritiva
## 
## Attaching package: 'moments'
## The following objects are masked from 'package:fBasics':
## 
##     kurtosis, skewness
library(scatterplot3d) # Obter gr?ficos em 3d


Para realizar as an?lises explorat?rias a seguir, utilizaremos um conjunto de dados dispon?vel no livro: Introdu??o ? Bioestat?stica. 4? Edi?ao. S?nia Vieira (Professora Titular de Bioestat?stica da Unicamp). - Rio de Janeiro: Elsevier, 2011. 345p.

Dados dispon?veis no Cap?tulo 2, Tabela 2.7. Referentes a Idade em anos completos, tempo de di?lise em meses, altura em metros, peso em quilogramas, press?o sist?lica e diast?lica em mil?metros de merc?rio de mulheres submetidas ? di?lise renal

Importa??o dos dados para o R

dialise= read.table('dialise.txt', header=TRUE)

Lendo as seis primeiras linhas dos dados

head(dialise)
##   Paciente Idade T_dialise Altura Peso P_sistolica P_diastolica
## 1        1    45        14    160 62.0         140           85
## 2        2    62        54    165 52.5         100           70
## 3        3    38        52    155 67.8         140          100
## 4        4    26        34    159 48.2         165          105
## 5        5    35        18    158 46.0         170          105
## 6        6    44        71    148 40.4         150          100

An?lise descritiva utilizando o pacote fBasics

basicStats(dialise[,-1], ci = 0.95)
##                  Idade  T_dialise      Altura       Peso P_sistolica
## nobs         13.000000  13.000000   13.000000  13.000000   13.000000
## NAs           0.000000   0.000000    0.000000   0.000000    0.000000
## Minimum      24.000000  14.000000  148.000000  40.400000  100.000000
## Maximum      70.000000  79.000000  179.000000  77.000000  175.000000
## 1. Quartile  38.000000  23.000000  155.000000  48.200000  150.000000
## 3. Quartile  56.000000  54.000000  162.000000  64.000000  165.000000
## Mean         46.923077  42.923077  159.538462  56.800000  153.461538
## Median       45.000000  46.000000  159.000000  55.500000  155.000000
## Sum         610.000000 558.000000 2074.000000 738.400000 1995.000000
## SE Mean       3.817070   5.910076    2.277581   3.049800    5.470920
## LCL Mean     38.606397  30.046128  154.576038  50.155056  141.541428
## UCL Mean     55.239757  55.800026  164.500885  63.444944  165.381649
## Variance    189.410256 454.076923   67.435897 120.916667  389.102564
## Stdev        13.762640  21.309081    8.211936  10.996211   19.725683
## Skewness     -0.150273   0.102144    0.765891   0.165485   -1.314428
## Kurtosis     -1.162038  -1.391822    0.064750  -1.313590    1.451519
##             P_diastolica
## nobs           13.000000
## NAs             0.000000
## Minimum        70.000000
## Maximum       110.000000
## 1. Quartile    95.000000
## 3. Quartile   105.000000
## Mean           98.461538
## Median        100.000000
## Sum          1280.000000
## SE Mean         3.068900
## LCL Mean       91.774980
## UCL Mean      105.148097
## Variance      122.435897
## Stdev          11.065076
## Skewness       -1.216313
## Kurtosis        0.757430

Deixando apenas Tr?s casas decimais utilizando a fun??o round

round(basicStats(dialise[,-1], ci = 0.95),3)
##               Idade T_dialise   Altura    Peso P_sistolica P_diastolica
## nobs         13.000    13.000   13.000  13.000      13.000       13.000
## NAs           0.000     0.000    0.000   0.000       0.000        0.000
## Minimum      24.000    14.000  148.000  40.400     100.000       70.000
## Maximum      70.000    79.000  179.000  77.000     175.000      110.000
## 1. Quartile  38.000    23.000  155.000  48.200     150.000       95.000
## 3. Quartile  56.000    54.000  162.000  64.000     165.000      105.000
## Mean         46.923    42.923  159.538  56.800     153.462       98.462
## Median       45.000    46.000  159.000  55.500     155.000      100.000
## Sum         610.000   558.000 2074.000 738.400    1995.000     1280.000
## SE Mean       3.817     5.910    2.278   3.050       5.471        3.069
## LCL Mean     38.606    30.046  154.576  50.155     141.541       91.775
## UCL Mean     55.240    55.800  164.501  63.445     165.382      105.148
## Variance    189.410   454.077   67.436 120.917     389.103      122.436
## Stdev        13.763    21.309    8.212  10.996      19.726       11.065
## Skewness     -0.150     0.102    0.766   0.165      -1.314       -1.216
## Kurtosis     -1.162    -1.392    0.065  -1.314       1.452        0.757

Construindo a distribui??o de frequ?ncia

par(mfrow=c(2,2))
histPlot(as.timeSeries(dialise$Idade),ylim=c(0.0,0.040))

histPlot(as.timeSeries(dialise$T_dialise),ylim=c(0.0,0.030))

histPlot(as.timeSeries(dialise$P_sistolica),ylim=c(0.0,0.040))

histPlot(as.timeSeries(dialise$P_diastolica),ylim=c(0.0,0.040))

Boxplot

Para construir o boxplot vamos usar a fun??o boxplot.

boxplot(dialise[-1],las=2,ylab="escala das vari?veis")