Escolar Documentos
Profissional Documentos
Cultura Documentos
OBJETIVOS DE APRENDIZAGEM
Introdução
R é uma linguagem de programação inicialmente criada para o desenvolvimento
de análises estatísticas e visualização de dados. Foi criada com base em outra
linguagem estatística, chamada S, e hoje ocupa o sétimo lugar no ranking de
linguagens mais utilizadas do mundo.
Graças ao projeto internacional e colaborativo que a mantém, atrelado à sua
característica crucial de ser de código aberto, hoje é possível utilizar mais de 10
mil pacotes por meio dessa linguagem — podemos não só explorar diferentes
estratégias de análise, mas também manipular diferentes tipos de dados.
Neste capítulo, você vai conhecer a linguagem de programação R como um
todo, vendo aspectos da sua criação e utilização, assim como os fundamentos
nos quais a linguagem se baseia. Além disso, vai ser apresentado a um panorama
geral de vantagens e desvantagens do R no universo do big data.
2 Linguagens multiparadigma: R
Fundamentos do R
Após escolher ambientes de desenvolvimento integrado (Integrated Develop-
ment Environment — IDE) com o qual o R será utilizado, é hora de “pôr a mão na
massa”. Entretanto, embora tenha sido pensada como uma linguagem de fácil
utilização, é necessário ter um conhecimento dos fundamentos básicos que
estão por trás da linguagem R para começar a manipulá-la. Os fundamentos de
linguagem de programação são conceitos básicos e elementares sobre objetos
e funcionalidades, além das características e paradigmas de linguagens de
programação. A partir da obtenção desse tipo de conhecimento, é possível
desenvolver operações básicas de programação de sistemas.
Os quatro fundamentos essenciais do R, de acordo com Chambers (2008),
são:
Objetos do R
Os tipos de objetos mais usuais em R são:
Para saber mais sobre IDEs, suas vantagens e diferentes tipos para
além das IDEs voltadas para o R, acesse o site RedHat e leia a matéria
“O que é IDE”.
Funções do R
Uma função nada mais é que um conjunto de instruções (ou comandos) que
realiza uma tarefa específica a partir de um objeto em um módulo dependente
de código. A linguagem R possui muitas funções implementadas em sua base
(sem ser necessário instalar pacotes adicionais), a partir das quais é possível
realizar operações básicas ou complexas, como gerar números aleatórios
ímpares até o número 1003, por exemplo. As funções de base, na maioria das
vezes, possuem nomes intuitivos na língua inglesa, como sum(), colnames()
e mean(), que respectivamente devolvem a soma de valores, os nomes das
colunas ou as médias dos valores selecionados.
Além dessas, é possível que o usuário crie as suas próprias funções a
partir de uma função predefinida nomeada function(). Toda função precisa
de um nome da sua escolha, argumentos (que indicarão os objetos ou parte
deles que serão utilizados) e os comandos de função propriamente ditos.
Além disso, é possível utilizar condições (equivalentes a “se”, “se...então”, “se
e somente se”, etc.) e repetições (chamadas de loops).
Interfaces/ambientes do R
O termo “ambiente” tem como objetivo caracterizar um sistema totalmente
planejado e coerente. Apesar de o R já possuir como base uma interface com
uma versão pré-compilada desse ambiente, existem diversos IDEs disponíveis
para serem utilizados em conjunto com a linguagem, a fim de facilitar a ex-
periência do usuário. Essa facilitação se dá principalmente pela minimização
dos erros de sintaxe ou mesmo de lógica, além de apresentação rápida de
ajuda, possibilidade de autocompletar as funções e facilitar a visualização
dos gráficos gerados (RUSSI; CHARÃO, 2011).
Existem diversas IDEs para R disponíveis atualmente, como Rattle, R-brains,
Rkward, a brasileira TinnR e a mais popular de todas: Rstudio.
Linguagens multiparadigma: R 7
Bônus: R Markdown
Além dos fundamentos básicos do R, existem diversas estruturas e ferramentas
que foram criadas a fim de facilitar o dia a dia do analista/programador que
o está utilizando. Uma delas é o RMarkdown, uma estrutura para a criação
de relatórios com códigos reproduzíveis que pode, inclusive, ser utilizada
para a construção de blogs, apresentações, sites, livros, jornais e muito mais.
A comunidade desenvolveu essa funcionalidade muito bem ao longo do tempo,
e atualmente é possível gerar relatórios HTML, Word e PDF, criar aplicativos
web, desenvolver documentos interativos e gerar relatórios automáticos
personalizados de acordo com geografia, horário e outras segmentações que
podem ser incluídas pelo usuário.
Vantagens e desvantagens do R
Agora que você já tem uma visão geral do que é o R, é preciso compreender
quando e por que utilizá-lo no lugar de outras linguagens de programação
mais populares. No ranking em que o R aparece como a 7ª linguagem mais
utilizada do mundo, observa-se que as seis antecessoras são, em ordem
crescente: Python, Java, JavaScript, C#, C/C++ e PHP. Neste tópico, vamos ver
as vantagens e desvantagens do R, principalmente para a manipulação de
grandes volumes de dados, e compará-lo a essas outras famosas linguagens.
8 Linguagens multiparadigma: R
Vantagens
Como já citamos, a primeira vantagem do R é ser uma linguagem e programação
de código aberto; assim, não é necessário pagar nenhuma taxa ou licença, e
qualquer usuário pode desenvolver pacotes e ferramentas e disponibilizá-
-los à comunidade. Em relação aos pacotes, o número de possibilidades de
análises é absurdamente alto: são mais de 10.000 pacotes disponibilizados e
suas combinações. Alguns deles, como o famoso dplyr, operam verdadeiros
milagres na estruturação e visualização de dados inicialmente desordenados,
o que é uma vantagem importante da linguagem.
A partir dos pacotes, surgiram outras vantagens: a utilização da linguagem
para realizar operações de aprendizado de máquina, como classificação,
regressão e desenvolvimento de redes neurais artificiais; a elaboração e
relatórios altamente detalhados e reproduzíveis; e o cerne do desenvolvimento
dessa linguagem: a análise estatística de dados.
A qualidade de plotagem gráfica do R também é um atrativo frente a outras
linguagens. São inúmeras as possibilidades de manipular e visualizar os dados,
e bibliotecas populares como ggplot2 e plotly não só permitem gerar figuras
com uma estética impecável, mas também — em conjunto — possibilitam a
criação de gráficos interativos.
R ainda apresenta uma alta compatibilidade com outras linguagens de
programação e sistemas. É possível combiná-la com C#, C++, Java e Python
e integrá-la a tecnologias de big data, como Hadoop e outros sistemas de
gerenciamento de banco de dados. É também importante citar que a linguagem
está disponível para utilização em Windows, Linux e Mac. Como última van-
tagem, R é uma linguagem de programação em constante evolução: trata-se
de uma tecnologia de ponta que fornece atualizações sempre que um novo
recurso é adicionado.
Desvantagens
Como todas as outras linguagens, R também apresenta algumas limitações e
desvantagens de utilização. A primeira é que, utilizando as configurações de
base, essa linguagem consome muita memória, e todos os dados precisam
estar na memória física. Assim, mesmo que alguns pacotes permitam o acesso
de bancos de dados on-line, esses bancos são baixados na máquina local
para que possam ser utilizados. Apesar de isso limitar a análise de grandes
volumes de dados, existem pacotes de gerenciamento de dados e integração
com sistemas de gerenciamento que possibilitam contornar esse problema.
Linguagens multiparadigma: R 9
Código aberto, Velocidade, Programação Baixo custo Rápido e com Fácil utiliza- Código aberto,
implantação, disponi- simplificada e e multipla- desempenho ção e imple- comunicação
Vantagens aprendizado bilidade e eficiente taformas altamente mentação gráfica,
de máquina aprendizado escalável número de
facilitado pacotes
Poucas Modelagem Não suporta a es- Sintaxe Código Recursos Menor veloci-
bibliotecas estatística crita de programas confusa e extenso limitados dade e desem-
Desvan- disponíveis limitada muito grandes e há alta curva para análise penho com big
tagens e maiores maior dificuldade de aprendi- data
códigos na reutilização de zagem
código
Linguagens multiparadigma: R
11
12 Linguagens multiparadigma: R
Referências
BARBERA, P. et al. Package ‘Rfacebook’. 2017. Disponível em: https://cran.r-project.org/
web/packages/Rfacebook/Rfacebook.pdf. Acesso em: 28 dez. 2020.
BUSINESS-SCIENCE.IO. Six reasons to learn R. 2017. Disponível em: https://www.r-
-bloggers.com/2017/12/six-reasons-to-learn-r-for-business/. Acesso em: 28 dez. 2020.
CHAMBERS, J. M. Programming with data: a guide to the S language. New York: Springer,
1998.
CHAMBERS, J. Software for data analysis: programming with R. New York: Springer, 2008.
OZGUR, C. et al. MatLab vs. Python vs. R. Journal of Data Science, v. 15, n. 3, p. 355–372, 2017.
PYPL PopularitY of Programming Language. 2020. Disponível em: https://pypl.github.
io/PYPL.html?country=. Acesso em: 28 dez. 2020.
R PROJECT. What is R. [20--]. Disponível em: https://www.r-project.org/about.html.
Acesso em: 28 dez. 2020.
RACINE, J. S. RStudio: a platform-independent IDE for R and Sweave. Journal of Applied
Econometrics, v. 27, n. 1, p. 167–172, 2012.
RUSSI, D. F.; CHARÃO, A. S. Ambientes de desenvolvimento integrado no apoio ao ensino
da linguagem de programação Haskell. Renote: Novas Tecnologias em Educação, v. 9,
n. 2, 2011.
STACK OVERFLOW. Stack Overflow. 2020. Disponível em: https://pt.stackoverflow.com.
Acesso em: 28 dez. 2020.
USCHIE. Java vs Python vs R languages. [20--]. Disponível em: https://www.seasiain-
fotech.com/blog/java-vs-python-vs-r-language/#:~:text=Java%20programming%20
language%20is%20great%20for%20large%2Dscale%20systems.&text=Python%20
is%20faster%20than%20R,is%20very%20responsive%20and%20quick. Acesso em:
28 dez. 2020.
VENABLES, W. N. S-PLUS and S. In: WILEY StatsRef: statistics reference online. New
York: Wiley & Sons, 2014.
Linguagens multiparadigma: R 13
Leituras recomendadas
ECOVIRTUAL. R para Iniciantes. 2016. Disponível em: http://ecovirtual.ib.usp.br/doku.
php?id=ecovirt:roteiro:soft:rprincip. Acesso em: 28 dez. 2020.
RED HAT. O que é IDE? c2020. Disponível em: https://www.redhat.com/pt-br/topics/
middleware/what-is-ide. Acesso em: 28 dez. 2020.