PC ou Mac, Windows ou Linux, Intel ou AMD, iPhone ou Samsung Galaxy? Nós simplesmente adoramos comparar coisas. Fazemos isso o tempo inteiro e escolhemos o que é mais conveniente para nossos objetivos, status ou condição financeira. Nossas vidas são na verdade grandes conjuntos de escolhas que fazemos ao comparar opções. E quando falamos em análise estatística, também temos escolha: Linguagem R ou SAS?

O software SAS (pronuncia-se “sass”) foi criado na Universidade Estadual da Carolina do Norte, nos EUA, como um projeto de análise para pesquisa agrícola e inicialmente a sigla significava “Statistical Analysis System”. A demanda por tais recursos de software começou a crescer e a SAS foi fundada em 1976 para ajudar clientes em todo tipo de indústrias – de empresas farmacêuticas e bancos a entidades acadêmicas e governamentais. Hoje a empresa tem mais de 14 mil funcionários em todo mundo e em 2016 teve um faturamento superior aos 3 bilhões de dólares.

Linguagem R ou melhor, o pacote estatístico R, simplesmente é o equivalente em código aberto do SAS, pois com o R você pode fazer tudo o que pode ser feito com o SAS em termos de análise estatística e há algumas coisas muito legais que o R pode fazer e o SAS não pode. Tudo o que você imagina que pode ser feito usando SAS STAT para análise estatística e Data Science o R pode fazê-lo.

Recentemente o site KDNuggets, um dos principais portais sobre Data Science, fez uma pesquisa entre os frequentadores do site, em sua maioria Cientistas de Dados, e a Linguagem R apareceu como a ferramenta para análise estatística mais utilizada entre aqueles que responderam a pesquisa.

 

Linguagem R ou SAS

 

Mas o que faz a linguagem R ser tão especial?

Antes de mais nada é importante dizer que R e SAS não são os únicos produtos do mercado para análise estatística. Existem outras opções como SPSS, Statistica, etc… Mas há uma questão crucial aqui: R é gratuito e open-source. Os outros softwares são pagos e proprietários. A linguagem Python possui alguns bons pacotes estatísticos, também gratuitos e open-source e que foram inspirados na Linguagem R, mas que ainda estão em fase de amadurecimento.

R é uma linguagem de programação de código aberto e um ambiente de software para computação estatística e gráficos, suportada pela R Foundation for Statistical Computing. A linguagem R é amplamente utilizada entre os Estatísticos e Cientistas de Dados para desenvolver software estatístico e análise de dados. A popularidade do R aumentou substancialmente nos últimos anos com o crescimento de Data Science e Big Data Analytics. A Linguagem R é considerada uma das melhores ferramentas de análise estatística do mundo.

Mas se R é assim tão bom, por que não domina completamente o mercado?

Não é assim tão simples. O sistema operacional Linux pode fazer tudo o que o Windows faz e com mais velocidade, segurança e confiabilidade, mas o Windows ainda domina amplamente o mercado. Um dos maiores motivos para o domínio do Windows é uma experiência de usuário mais fácil. Apesar de todas as vantagens oferecidas pelo Linux (melhor segurança, sem vírus, confiabilidade, flexibilidade, etc…), os usuários (em geral) ainda preferem o Windows, mesmo sendo o Windows um software pago, enquanto o Linux é gratuito.

O mesmo vale para a Linguagem R x SAS. Vamos compreender as características de cada um deles e então compará-los (como fazem os seres humanos o tempo inteiro), a fim de traçar um cenário mais preciso.

Capacidade Estatística

SAS/STAT e outros pacotes SAS oferecem um poderoso ambiente de desenvolvimento e cobrem quase toda a gama de análises e técnicas estatísticas. No entanto, como R é de código aberto e as pessoas podem enviar seus próprios pacotes/bibliotecas, as últimas técnicas de ponta são invariavelmente lançadas em R primeiro. No momento em que escrevemos este artigo, o R tem exatos 11.762 pacotes no repositório CRAN (The Comprehensive R Archive Network – O site que mantém o projeto R).

Algumas das técnicas mais recentes, para análise de dados, estão disponíveis para uso primeiro em R, mas demoram a chegar ao SAS. Muitos pacotes experimentais também estão disponíveis em R. De fato, em muitas competições do Kaggle os vencedores (que estão entre os melhores Cientistas de Dados do mundo) quase sempre usam o R para construir seus modelos ou pelo menos para realizar análise estatística, usando R e Python como um poderoso ambiente de análise de dados, totalmente gratuito.

Neste aspecto, R é o vencedor. No entanto, uma palavra precisa ser colocada sobre o SAS. Uma vez que o SAS é um software pago com suporte, qualquer inovação ou nova técnica estatística deve ser examinada e aceita, o que aumenta a segurança e a estabilidade da plataforma. O SAS é usado em muitos projetos de missão crítica, onde técnicas experimentais não podem ser utilizadas. Por outro lado, como qualquer pessoa pode fazer o upload de um pacote em R, isso aumenta o risco de se ter um pacote sem a precisão necessária para o trabalho de análise!

Mas em termos de capacidade estatística pura, o R tem maior capacidade. 1 x 0.

Manipulação de Dados

A principal desvantagem da linguagem R é a maneira como ela aloca e lida com a memória tentando carregar todo o conjunto de dados na RAM. Embora isso possa ser contornado de diversas maneiras, pode causar problemas graves quando se trabalha em uma combinação de grandes conjuntos de dados e computadores com baixa capacidade computacional (o que sempre acontece: seus dados são sempre grandes e seu computador insignificante!).

O SAS se destaca no manuseio de conjuntos de Big Data. As edições do servidor do SAS de fato podem “mastigar” TeraBytes de dados sem problemas, enquanto a linguagem R é mais provável que gere os famosos erros “Out of Memory” ou trave o ambiente de desenvolvimento, quando exposta a grandes quantidades de dados (estamos falando aqui de Terabytes).

Para não dizer que o R não pode lidar com Big Data, pode sim, mas quando temos um laptop com 2 GB de RAM e um conjunto de dados em milhões de registros, o SAS pode fazer essa análise em 30 segundos, enquanto o R pode levar até alguns minutos ou até mesmo travar.

No entanto, o poder de computação está cada vez mais acessível e a cada dia fica mais barato. Com um computador que possua memória RAM suficiente, o R também pode reduzir os conjuntos de Big Data de forma eficiente, especialmente em máquinas de 64 bits.

Mas, por enquanto, em termos de manipulação de dados, o SAS é mais poderoso. 1 x 1

Facilidade de Uso

Uma das maiores razões pelas quais o Linux nunca foi o sucesso desenfreado em comparação com o Windows é que sempre teve o estigma de ser muito difícil de usar, instalar ou solucionar problemas (embora isso tenha sido reduzido drasticamente ao longo dos anos). A Linguagem R tem característica similar e sua curva de aprendizado é grande. Não há nenhuma maneira fácil de trabalhar com a linguagem R. O R não é para os fracos de coração. É mais fácil aprender SAS do que aprender R.

A sintaxe de programação SAS pode ser considerada como uma linguagem de alto nível que é intuitiva e fácil de aprender, além disso, foi projetada como DML (Linguagem de Manipulação de Dados). Por outro lado, a programação R é mais complexa. E se a programação SAS é de alto nível (mais fácil paar os seres humanos), então R é uma linguagem de baixo nível (mais difícil e desafiadora para os seres humanos).

Mesmo tarefas simples podem significar escrever alguns pedaços de código em R (embora isso possa parecer um aspecto ruim, também traz muito mais flexibilidade). Muitos pacotes foram lançados recentemente com o objetivo de resolver este problema e a equipe de Cientistas de Dados do Rstudio (ambiente de desenvolvimento do R), tem trabalhado incansavelmente, junto com a comunidade, para tornar o R mais fácil e intuitivo a cada dia.

Aprender R é definitivamente mais desafiador que o SAS. Mas, como R tem características de linguagem de programação, ele oferece mais flexibilidade e poder do que o SAS ao programador.

O suporte para R é outro problema; mensagens de erros obscuras podem, literalmente, dificutar a vida de alguém que é bastante novo em R. Existem grupos de suporte e fóruns na internet e a comunidade R é bastante ativa, composta por apaixonados pela linguagem.

Em suma, para os verdadeiros programadores, o R é uma ferramenta mais poderosa e flexível. Mas em facilidade de uso, o SAS é o vencedor.

1 x 2

Me Fale Sobre o Custo

Não precisaria escrever nem mais uma palavra. R é gratuito e open-source. SAS é pago e proprietário (e o custo de investimento é proporcional a qualidade do software, ou seja, alto). Jogo empatado então? Espere, ainda tenho um pouco mais a falar sobre isso. Embora R seja gratuito, tecnicamente, ele deveria ser mais barato de usar, não deveria? Bem, essa nem sempre é a resposta.

O TCO (custo total de propriedade) de usar R pode ser maior do que utilizar SAS. Por exemplo, uma empresa de Analytics decide utilizar R exclusivamente, pois não precisa pagar as licenças do SAS, o custo da entrega do projeto diminuirá, melhores margens de lucro, menor tarifação para o cliente, melhor competitividade no mercado. Ganha-Ganha, certo?

Se a empresa tiver consultores com experiência em R, perfeito. Mas o problema é que programadores R são escassos e isso aumenta o custo de recursos. Agora, leve em consideração a curva de aprendizado, o custo de implantação e o fato de que não haverá suporte para a Linguagem R e isso pode aumentar o risco do projeto e consequentemente o custo. Pelo menos se o SAS não funcionar, você pode pode pegar o telefone e exigir uma solução para o problema ou correção de bug.

Por outro lado, se você tem uma Startup ou empresa de pequeno/médio porte, onde o custo é um fator crítico, investir em uma licença SAS pode não fazer sentido, principalmente considerando que existe uma excelente solução open-source. Startups e empresas de pequeno/médio porte simplesmente usarão o que pode ser chamado de pilha RUM (R-Ubuntu-MySql), ou seja, usar o MySQL para manipulação de dados através de linguagem SQL, utilizar R para análise estatística na máquina executada no Ubuntu Linux. Tudo de graça! Embora esta solução possa funcionar para Startups e empresas de pequeno/médio porte, não é escalável para uma grande organização com orçamento na casa de milhões ou bilhões de reais.

Mas a diferença de custo é muito grande e o R vence nesse quesito. Jogo empatado. 2 x 2

E o Oscar vai para……

Não há vencedor aqui. PC ou Mac, Windows ou Linux, Intel ou AMD, iPhone ou Samsung Galaxy, Linguagem R ou SAS? Todos tem o seu público, sua importância, seu custo (mesmo soluções open-source possuem um TCO) e podem ser usados para atender diferentes necessidades e cenários. O melhor de tudo é saber que podemos escolher e temos boas opções.

Mesmo empresas de grande porte podem se beneficiar da Linguagem R, assim como empresas de médio porte podem investir no SAS, como forma de obter suporte, o que pode ser relevante em um mercado com tanta escassez de profissionais capacitados em Data Science, como o mercado brasileiro.

Mas seja qual for a sua escolha, R ou SAS, seu projeto de análise de dados estará em boas mãos.

E você ainda tem outra opção: Linguagem Python.

Equipe DSA

Referências:

SAS, R ou Python

The R Foundation

SAS/STAT Software

Formação Cientista de Dados