Linguagem R

Com a quantidade de volumes de dados crescendo na velocidade atual, organizações de todo mundo tem buscado opções mais viáveis que podem, aliadas às tecnologias em nuvem, atendê-los da melhor maneira possível nas tomadas de decisões. Cientistas de dados e colaboradores com habilidades analíticas fazem com que as empresas ganhem muito com o uso da linguagem R.

O que é a linguagem R?

R é uma linguagem de programação e de gráficos estatísticos. Foi criada no início da década de 1990 por Robert Gentleman e Ross Ihaka, docentes da Universidade de Auckland, Nova Zelândia. Eles estabeleceram R como um projeto open source em 1995. Desde 1997, esse tem sido gerido pelo R Core Group, que lançou o R 1.0.0 em Fevereiro de 2000. Está disponível como software livre sob os termos do GNU GPL. A versão atual é a 3.2.2.

Ela é uma evolução da linguagem S para computação estatística, que foi desenvolvida por John Chambers e alguns colegas no Bell Laboratories (antigo AT&T Bell Labs) em meados de 1970 e disponibilizada ao público no início de 1980. Existem algumas diferenças, mas muito código escrito para S roda inalterado em R.

A linguagem R fornece uma ampla variedade de procedimentos estatísticos, incluindo a modelagem linear e não-linear, testes estatísticos clássicos, análise de séries temporais, classificação, clusterização e técnicas gráficas, e é altamente extensível através de pacotes adicionais. Tanto R quanto seus pacotes adicionais estão disponibilizados na CRAN (Comprehensive R Archive Network).

Nota: Para instalar pacotes adicionais siga os comandos abaixo.
option (CRAN="http://cran.r-project.org") 
install.packages ("<nome do pacote>")

R foi projetada para trabalhar com datasets. Dessa forma, programadores R criam análises de dados rapidamente, misturando e combinando modelos para os melhores resultados. Scripts R também são facilmente automatizados, promovendo pesquisas e implantações em ambientes produtivos.

A forma ideal de se aprender a programar em R é simplesmente utilizá-la. E para se familiarizar com os seus comandos, deve-se começar lendo o texto introdutório de cada comando, escrever o programa e observar os resultados e gráficos obtidos. Claro, um certo conhecimento em estatística e/ou matemática é bem-vindo.

R_code_ex
Exemplo de código R para reprodução de linhas.

A linguagem compila e roda em uma ampla variedade de plataformas:

A comunidade R

A comunidade R é aberta e participativa, possui hoje mais de 2 milhões de usuários e desenvolvedores ao redor do mundo, pertencentes ou não a algum tipo de organização. Eles contribuem voluntariamente com conhecimento técnico para manter, apoiar e estender a linguagem R e seu ambiente, ferramentas e infraestrutura. Uma das empresas que tem grande destaque nas contribuições à comunidade é a Revolution Analytics, através do código base e projetos relacionados a R.

No centro da comunidade está o R Core Group, com cerca de 20 desenvolvedores que além de manter, orientam a evolução da linguagem. Financeiramente, a comunidade é mantida pela Fundação R, uma organização sem fins lucrativos que assegura a estabilidade financeira do projeto R e detém e administra seus direitos autorais, incluindo sua documentação.

A comunidade R segue o movimento open source, valoriza a transparência e partilha a criação de software de alta qualidade. Também olha para o mundo dos negócios, finanças, indústria e governo, promovendo a utilização da programação em R para análise de dados de todos os tipos. Os participantes são considerados evangelistas e trabalham para explicar e promover o projeto R para a imprensa, a mídia social e todos os interessados.

Aquisição da Revolution Analytics pela Microsoft

A Revolution Analytics é responsável por uma distribuição alternativa e compatível com R, com features extras, chamada Revolution R Open (RRO). Esta distribuição possui um processamento multi-thread e pode, por exemplo, executar a função de regressão linear até 20 vezes mais rápido que a padrão. É um software de código aberto, livre para download!

A empresa também é responsável pela Revolution R Enterprise (RRE), plataforma de alto desempenho baseada em R apenas para big data analytics. Suporta análises escaláveis, análises exploratórias de dados e construção de modelos de predição a partir de banco de dados Hadoop e Teradata.

No início do ano de 2015 a Microsoft anunciou a aquisição da Revolution Analytics e essa notícia pareceu estranha para algumas pessoas, pois trata-se de uma empresa que usa como base o open source. Contudo, essa empresa, fundada em 2007, é a principal fornecedora do mercado de softwares e serviços baseados em R e o objetivo principal desta aquisição é incorporá-los no portfólio de soluções Microsoft, consequentemente ajudando os clientes a encontrar valores em seus dados através de análises estatísticas. Por exemplo, construir um analytics rápido e escalável usando R, em SQL Server 2016, que possa ser implantando em um datacenter local, no Azure ou ainda em uma combinação híbrida.

R_SQL2016_Azure

A Microsoft tomou uma decisão estratégica pois além de reforçar seu apoio ao open source, difundiu ainda mais o uso interno da linguagem R por seus cientistas de dados, aprimorou seu open source através do RRO, melhorou sua análise de big data com o RRE, disponibilizou R na sua plataforma de nuvem através do Azure ML Studio e ampliou suas opções R em databases SQL 2016. E outros produtos e melhorias ainda podem surgir para atender as necessidades dos clientes.

Algumas outras iniciativas que comprovam o suporte da Microsoft ao código aberto podem ser vistas, por exemplo, com o suporte ao Linux e ao Hadoop dentro do Azure. Além de projetos open source no GitHub e no CodePlex.

A disponibilidade da última release do technical preview do RRE no Microsoft Azure, através de máquinas virtuais Windows e Linux prontas no Azure Marketplace, foi o primeiro passo do plano da Microsoft para integrar os produtos da Revolution com o Azure e futuramente com o Cortana Analytics. No Azure, clientes tem acesso on-demand para análise preditivas de alto desempenho e otimização das operações dentro do Machine Learning, a partir de qualquer lugar e em qualquer momento.

Nota: O ambiente R no Azure Machine Learning tem mais de 400 pacotes R instalados. Para obter uma lista de pacotes instalados como um conjunto de dados, execute o módulo Executar Script R com o seguinte código R.

data.set <- data.frame(installed.packages())
maml.mapOutputPort("data.set")

A Microsoft tem incentivado e trabalhado para capacitação desses profissionais em seus clientes corporativos.

Através do Azure Marketplace, os usuários podem executar cálculos sobre conjuntos de dados de até 1 TB em instâncias Windows e Linux de 4 a 32 vCPUs baseadas em nuvem; e também acessar dados copiados a partir de um armazenamento Azure, incluindo blobs ou SQL Server, acessando diretamente via conexão ODBC.

Nota: O acesso ao RRE para Windows é feito através do Windows Remote Desktop e para o Linux é feito através de SSH.

Eu, particularmente, acredito que a aquisição só tem a fortalecer essa nova fase dentro das áreas de big data e aprendizado de máquina, onde o uso da estatística e da matemática podem impulsionar grandes avanços, muitas descobertas e novos negócios.

Até o próximo post!

Fonte das imagens: Microsoft.com

5 comentários

  1. Sensacional Thiago atualmente trabalho com CRM e quero desvendar novos horizontes e esse é um bom desafio de dar power up adquirir mais xp, quando mais conhecimento mais probabilidade de se manter no mercado. Pode me recomendar algum lugar além do curso online que eu já vi no outro comentário?

    Muito obrigado desde já.

    Parabéns pelo post.

    Curtir

    • Olá Willer,
      Obrigado pelo elogio.
      Em relação a cursos, realmente não conheço um lugar de referência para te indicar. Acredito que o melhor a se fazer perguntar na comunidade.
      Quando estiver em um nível mais avançado e dependendo da sua área de interesse, procure o curso de “Análise de dados multidimensionais utilizando o R”, da PUC Rio. É um assunto bem interessante.
      Abs,
      Thiago

      Curtir

Deixe um comentário