##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!
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.
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.
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.
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.
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.
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")\)
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.
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
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.
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.
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
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:
Clique em Packages;
Clique em Install;
Ser? aberta a caixa para instala??o dos complementos e ent?o escreva o nome do complemento a instalar (fBasics);
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.
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.
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:
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")