Comandos Básicos de R

Introdução ao R e aos comandos básicos do R

Jose Storopoli https://scholar.google.com/citations?user=xGU7H1QAAAAJ&hl=en (UNINOVE)https://www.uninove.br
August 1, 2021

Este arquivo é um documento R Markdown. Ele é uma proposta de prosa com código em R, além de ser o formato preferido nosso de comunicar nossas análises. Quando renderizamos o documento no formato desejado. Todo código que é inserido nele é executado e as saídas são incorporadas no documento final. Isto vale para tabelas e gráficos. Por exemplo, podemos pedir para o R imprimir algo com a função print() e o resultado será o código que foi executado e o seu resultado.

print("Você executou um código")
[1] "Você executou um código"

O formato R Markdown é muito flexível. Podemos fazer relatórios (em PDF, Word e HTML), apresentações (em PDF, PowerPoint e HTML), artigos acadêmicos, livros, websites1, blogs, CVs, etc.

Lendo Arquivos de Dados

Com o R conseguimos ler diversos tipo de arquivos de dados: CSV, texto, HTML, Excel, Stata, SPSS, Planilhas Google, Banco de Dados Relacionais, entre outros… Vamos demonstrar como ler arquivos de dados dos dois formatos mais comuns: CSV e Excel.

CSV

Para ler um arquivo CSV (.csv) no R execute a função read.csv() para arquivos CSV formato americano (vírgula como separador e decimais como ponto) ou a função read.csv2() para arquivos CSV formato europeu/brasileiro (ponto-e-vírgula como separador e decimais como vírgula). Não esqueça de designar a leitura para uma variável com o designador <-.

df <- read.csv2("datasets/mtcars.csv", row.names = 1)
head(df)
                  mpg cyl disp  hp drat  wt qsec vs am gear carb
Mazda RX4          21   6  160 110  3.9 2.6   16  0  1    4    4
Mazda RX4 Wag      21   6  160 110  3.9 2.9   17  0  1    4    4
Datsun 710         23   4  108  93  3.9 2.3   19  1  1    4    1
Hornet 4 Drive     21   6  258 110  3.1 3.2   19  1  0    3    1
Hornet Sportabout  19   8  360 175  3.1 3.4   17  0  0    3    2
Valiant            18   6  225 105  2.8 3.5   20  1  0    3    1

Excel

Para ler um arquivo Excel (.xls ou .xlsx) no R é necessário importar um pacote chamado {readxl} (Wickham & Bryan, 2019) que contem a função read_excel. Para importar um pacote no R executamos o comando library() com um argumento único sendo o nome do pacote. Caso não tenha o pacote instalado, deve instalar ele com o comando install.packages(). Não esqueça de colocar o nome do pacote entre aspas "nome_do_pacote" dentro do parênteses da função.

# install.packages("readxl")
library(readxl)
df <- read_excel("datasets/mtcars.xlsx")
head(df)
# A tibble: 6 x 12
  ...1       mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear
  <chr>    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 Mazda R…  21       6   160   110  3.9   2.62  16.5     0     1     4
2 Mazda R…  21       6   160   110  3.9   2.88  17.0     0     1     4
3 Datsun …  22.8     4   108    93  3.85  2.32  18.6     1     1     4
4 Hornet …  21.4     6   258   110  3.08  3.22  19.4     1     0     3
5 Hornet …  18.7     8   360   175  3.15  3.44  17.0     0     0     3
6 Valiant   18.1     6   225   105  2.76  3.46  20.2     1     0     3
# … with 1 more variable: carb <dbl>

Gráficos

Geralmente no R você pode plotar mostrar graficamente diversos objetos com o comando plot(). Quando você plota um dataset (conjunto de dados lido de um aquivo), o R retorna um gráfico chamado Pair Plot:

Exemplo: na figura 1 veja a relação entre disp (cilindrada) e hp (cavalos de potência). Ela é uma relação positiva. Quanto maior disp maior hp.

plot(mtcars)
*Pair Plot* do *dataset* `mtcars`

Figure 1: Pair Plot do dataset mtcars

Para maior customização e elaboração avançada de gráficos a biblioteca {ggplot2} (Wickham, 2016).

library(ggplot2)

ggplot(mtcars, aes(mpg, hp)) +
  geom_point(col = "steelblue") +
  labs(
    title = "Diagrama de Dispersão",
    x = "Milhas por Galão",
    y = "Cavalos de Potência",
    caption = "Quanto maior a potência menor a autonomia"
  ) +
  theme_classic()
Gráficos com `{ggplot2}`

Figure 2: Gráficos com {ggplot2}

Ambiente

Em todos os arquivos dessa disciplina, mostrarei o ambiente computacional usado para replicação.

R version 4.1.0 (2021-05-18)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur 10.16

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

other attached packages:
[1] readxl_1.3.1    tibble_3.1.2    ggplot2_3.3.3   patchwork_1.1.1
[5] cowplot_1.1.1  

loaded via a namespace (and not attached):
 [1] tidyselect_1.1.1  xfun_0.23         bslib_0.2.5.1    
 [4] purrr_0.3.4       colorspace_2.0-1  vctrs_0.3.8      
 [7] generics_0.1.0    htmltools_0.5.1.1 yaml_2.2.1       
[10] utf8_1.2.1        rlang_0.4.11      jquerylib_0.1.4  
[13] pillar_1.6.1      glue_1.4.2        withr_2.4.2      
[16] DBI_1.1.1         lifecycle_1.0.0   stringr_1.4.0    
[19] cellranger_1.1.0  munsell_0.5.0     gtable_0.3.0     
[22] ragg_1.1.2        evaluate_0.14     labeling_0.4.2   
[25] knitr_1.33        parallel_4.1.0    fansi_0.5.0      
[28] highr_0.9         Rcpp_1.0.6        scales_1.1.1     
[31] jsonlite_1.7.2    farver_2.1.0      systemfonts_1.0.2
[34] textshaping_0.3.4 distill_1.2       digest_0.6.27    
[37] stringi_1.6.2     bookdown_0.22     dplyr_1.0.6      
[40] grid_4.1.0        rprojroot_2.0.2   cli_2.5.0        
[43] tools_4.1.0       magrittr_2.0.1    sass_0.4.0       
[46] crayon_1.4.1      pkgconfig_2.0.3   downlit_0.2.1    
[49] ellipsis_0.3.2    xml2_1.3.2        lubridate_1.7.10 
[52] assertthat_0.2.1  rmarkdown_2.8     rstudioapi_0.13  
[55] R6_2.5.0          compiler_4.1.0   
Kross, S. (2021). Postcards: Create beautiful, simple personal websites. Retrieved from https://CRAN.R-project.org/package=postcards
O’Hara-Wild, M., & Hyndman, R. (2021). Vitae: Curriculum vitae for r markdown. Retrieved from https://CRAN.R-project.org/package=vitae
Wickham, H. (2016). Ggplot2: Elegant Graphics for Data Analysis. Retrieved from https://ggplot2.tidyverse.org
Wickham, H., & Bryan, J. (2019). Readxl: Read excel files. Retrieved from https://CRAN.R-project.org/package=readxl

  1. esse website foi todo feito com R↩︎

References

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY-SA 4.0. Source code is available at https://github.com/storopoli/Estatistica-Bayesiana, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Storopoli (2021, Aug. 1). Estatística Bayesiana com R e Stan: Comandos Básicos de R. Retrieved from https://storopoli.github.io/Estatistica-Bayesiana/1-Comandos_Basicos.html

BibTeX citation

@misc{storopoli2021comandosbasicosR,
  author = {Storopoli, Jose},
  title = {Estatística Bayesiana com R e Stan: Comandos Básicos de R},
  url = {https://storopoli.github.io/Estatistica-Bayesiana/1-Comandos_Basicos.html},
  year = {2021}
}