Ciência e Dados
Menu
  • Home
  • Sobre
  • Contato
Menu
R ou Python para Análise de Dados?

R ou Python para Análise de Dados?

Posted on 12 de março de 201813 de abril de 2018 by David Matos

Quando se trata de Ciência de Dados, uma pergunta sempre vem à tona: R ou Python para análise de dados? Apesar de existirem muitas outras possibilidades, estas duas linguagens tem polarizado as discussões sobre que ferramenta utilizar para análise. As duas linguagens são simples (e gratuitas) para instalar e relativamente fáceis de começar a usar. Se você está começando sua jornada no mundo da Ciência de Dados e não tem experiência com programação em geral, faz sentido aprender R ou Python primeiro.

R

R tem uma história longa e confiável e uma forte comunidade de suporte no setor de dados. Juntos, esses fatores significam que você pode contar com o apoio on-line de outros, se você precisar de ajuda ou tiver dúvidas sobre a utilização da linguagem. Além disso, há uma abundância de pacotes lançados publicamente (mais de 5.000), que podem ser baixados para estender as capacidades da linguagem. Isso faz R ótimo para a execução de complexas análises de dados exploratórios. R também se integra bem com outras linguagens de programação como C ++, Java e C. Quando é preciso fazer análises estatísticas pesadas ou gráficas, R mostra sua força.

Python

Python é uma linguagem de programação de uso geral que pode fazer praticamente qualquer coisa que você precisa: coleta de dados, engenharia de dados, análise, Web Scraping, construção de aplicativos web e muito mais. É mais simples de dominar do que R se você já aprendeu uma linguagem de programação orientada a objetos como Java ou C ++. Além disso, como Python é uma linguagem de programação orientada a objetos, é mais fácil escrever em grande escala e com código robusto, do que com R.

Embora Python não tenha um conjunto de pacotes e bibliotecas tão abrangente como os disponíveis para a linguagem R, a combinação de Python com ferramentas como Pandas, Numpy, Scipy, Scikit-learn e Seaborn, torna a linguagem uma das principais escolhas entre os Cientistas de Dados. A linguagem também está lentamente se tornando útil para tarefas em Machine Learning e de base para o trabalho estatístico intermediário (anteriormente apenas sob o domínio de R).

Abaixo uma tabela comparativa entre as duas linguagens:

Python

R

Data de criação

1991

1995

Versão atual

3.6.4

(lançada em 13/09/2015)

3.4.4

(lançada em 10/12/2015)

Origem

Python foi inspirada na linguagem C, Modula-3 e ABC.

R foi uma implementação da linguagem S da Bell Labs.

Usabilidade

Codificação e Debugging é mais fácil, pois a sintaxe é bem simples.

Modelos estatísticos podem ser escritos com poucas linhas de código.

Padronização

Python possui um padrão mais bem definido, permitindo que diferentes tipos de funcionalidades sejam escritos da mesma forma.

A mesma funcionalidade pode ser escrita de diversas formas diferentes em R.

Flexibilidade

Python é bastante flexível e permite facilmente escrever algo a partir do zero.

É fácil escrever formulas complexas em R. Praticamente todos os tipos de testes e modelos estatísticos estão disponíveis para uso na linguagem.

Repositórios

PyPi é o repositório de Python, com diversas bibliotecas. Usuários podem contribuir com novos pacotes.

CRAN (Comprehensive R Archive Network) é o repositório da linguagem R em que cada usuário pode contribuir com novos pacotes (que são coleções de funções em R com código compilado). Esses pacotes podem ser facilmente instalados com uma linha de código.

Usando as duas linguagens juntas

Use a biblioteca RPy2 para executar código R dentro do Python. Ele provê uma interface entre as linguagens.

Use o pacote rPython para executar pacotes do Python dentro do código R. É possível passar e receber dados de Python, chamar funções ou métodos.

Uso em Análise de Dados

Python é principalmente usada quando a análise de dados precisa ser integrada com aplicativos web ou se o código estatístico precisa ser integrado em um servidor em ambiente de produção, que vai servir muitos usuários.

R é principalmente usada quando as atividades de análise de dados requerem computação standalone (em um único computador) ou análise em servidores individuais.

Tratamento de dados

Python não foi criada inicialmente para análise de dados, mas a linguagem tem crescido rapidamente e cada vez oferece mais recursos.

R é extremamente eficiente em análise de dados, devido seu grande número de pacotes com modelos, fórmulas e testes estatísticos.

IDE

Python IDE, Spyder e IPython Notebook

RStudio

Pacotes mais populares ·      SciPy / NumPy (computação científica)

·      Pandas (manipulação de dados)

·      Matplotlib (gráficos)

·      Scikit-learn (Machine Learning)

·      dplyr, plyr e data.table (manipulação de dados)

·      stringr (manipulação de strings)

·      zoo (time-series)

·      ggvis, lattice e ggplot2 (gráficos)

·      caret (Machine Learning)

Pontos positivos ·      Python é ótima para criação de scripts e automatização de regras para mineração de dados.

·      Se integra facilmente em um fluxo de trabalho de produção de desenvolvimento.

·      Pode ser usada em diferentes partes no processo de desenvolvimento de software (back-end, front-end)

·      IPython Notebook é uma poderosa ferramenta para análise exploratória e apresentações.

·      R é ótimo para prototipagem e para análise estatística.

·      R tem um enorme conjunto de bibliotecas disponíveis para análise de diferentes tipos de estatística.

·      Rstudio IDE é definitivamente uma grande vantagem. Ele facilita a maioria das tarefas tediosas e facilita o fluxo de trabalho.

Pontos Negativos ·      Não é tão completo para análise estatística como R, mas já percorreu um longo caminho nestes últimos anos.

·      Na minha opinião, a curva de aprendizado é mais acentuada do que R, por se tratar de uma linguagem muito mais completa.

·      A sintaxe pode ser obscura, às vezes.

·      É mais difícil de integrar a um fluxo de desenvolvimento de produção.

·      Na minha opinião, é mais adequado para tarefas do tipo “consultoria”.

Propósito

Python é uma linguagem de uso geral, com características inerentes a outras linguagens de programação de computadores. Isso permite que pessoas com diferentes backgrounds possam utilizar a linguagem.

R foi desenvolvida por estatísticos, para estatísticos. Engenheiros, cientistas e estatísticos sem conhecimento de programação de computadores, consideram R fácil de usar.

Velocidade

Python é considerada uma das linguagens de programação mais velozes atualmente.

R foi desenvolvida para fazer análise de dados, não para ser rápida. Entretanto, o código pode ser otimizado. O problema, é que a linguagem é bastante utilizada por quem não possui conhecimentos de programação, tornando o código mais lento do que deveria.

Em geral, você não vai errar se optar por aprender Python ou R para análise de dados. Cada linguagem tem seus prós e contras em diferentes cenários e tarefas. Além disso, existem bibliotecas para usar Python com R e vice-versa, de modo que aprender uma não vai impedi-lo de aprender e usar a outra. Talvez a melhor solução seja utilizar as orientações acima para decidir qual das duas linguagens começar a aprender e em seguida, fortalecer seu conjunto de habilidades aprendendo a outra.

Portanto, não existe a melhor linguagem. A pergunta chave é: que problema de negócio precisa ser resolvido? E a partir daí, escolher a melhor ferramenta. Ao longo da minha carreira aprendi que não existe a melhor tecnologia. Existe tecnologia que resolve melhor um problema da área de negócios. No fim, é para isso que todas as tecnologias são usadas.

David Matos

 

Referências:

Python Fundamentos Para Análise de Dados

R Fundamentos Para Análise de Dados

 

Relacionado

23 thoughts on “R ou Python para Análise de Dados?”

  1. Rafael Lima disse:
    14 de fevereiro de 2016 às 6:50 PM

    Não vejo problemas em aprender as duas linguagens, só teria a agregar no conhecimento.

    Eu por exemplo, aprendo um pouco das duas sempre que possível.

    Responder
    1. David Matos disse:
      14 de fevereiro de 2016 às 6:54 PM

      Olá Rafael,

      Concordo plenamente. As duas linguagens se complementam e existem diversos pacotes para interoperabilidade entre elas.

      Abs

      David

      Responder
  2. Pingback: Big Data em Saúde no Brasil! O que você pode aprender? | O Estatístico
  3. Pingback: Big Data em Saúde no Brasil! O que você pode aprender? | O Estatístico
  4. Tiago Dallabrida disse:
    7 de novembro de 2017 às 11:40 PM

    Gostaria de aprender ambas linguagens, como posso começar?
    Conhecem algum curso interessante sobre o assunto que posso me dedicar ou o negócio é youtube mesmo?

    obrigado!

    Responder
    1. David Matos disse:
      8 de novembro de 2017 às 1:10 AM

      Olá Tiago. Dá uma olhada no curso gratuito de Python Fundamentos da Data Science Academy: https://www.datascienceacademy.com.br/public-course?courseid=python-fundamentos. É uma excelente forma de começar. Abs

      Responder
      1. TIAGO SALAMONI DALLABRIDA disse:
        8 de novembro de 2017 às 8:52 AM

        Muito obrigado, Davi!

        Responder
  5. Alex disse:
    9 de abril de 2019 às 11:08 AM

    Bom dia, qual a melhor ferramenta (linguagem de programação) para utilizar em análise de dados das movimentações contábeis, fiscais de uma empresa? Preciso criar uma ferramenta que eu consiga verificar se a empresa está adequada ao compliance? Que eu também consiga fazer o confronto de dados entre essas movimentações? É mais uma ferramenta para consultoria e através desta ferramenta eu consiga recuperar impostos.

    Qual a melhor ferramenta no mercado para isso? Python, R, Power BI, Java, C++?

    Responder
    1. David Matos disse:
      9 de abril de 2019 às 11:45 AM

      Olá Alex. Com linguagens de programação tudo isso pode ser feito, mas requer desenvolvimento! Comece explorando o Power BI e aqui tem um excelente curso gratuito:

      https://www.datascienceacademy.com.br/course?courseid=microsoft-power-bi-para-data-science

      Responder
      1. Alex disse:
        22 de abril de 2019 às 5:36 PM

        Sensacional, Davi. Obrigado!

        Responder
        1. David Matos disse:
          22 de abril de 2019 às 11:16 PM

          Valeu. Obrigado. 🙂

          Responder
  6. Francisco Araújo disse:
    4 de novembro de 2019 às 5:10 PM

    A questão fundamental é a seguinte:

    É POSSÍVEL ANALISAR DADOS SEM A ESTATÍSTICA?

    Se sua resposta for sim: opte pelo Python.
    Se sua resposta for não: opte pelo R.

    Minha resposta é não: logo optei por R.
    Até porque meu foco é a análise (dos dados) … e não a programação (das instruções)…
    Demorei… mas evolui ;–)
    Agora, meu objetivo não é programar… embora eu tenha que criar uns scripts aqui e ali…
    Preciso mesmo é da informação extraída na análise estatística dos dados.
    E ponto final.

    Responder
  7. Pingback: Big Data em Saúde no Brasil! O que você pode aprender? - O Estatístico
  8. Daniel disse:
    28 de julho de 2020 às 7:24 AM

    David Matos
    Apenas agradecendo pelo conteúdo e repostas dos outros muito motivadores.
    Pessoalmente nunca estudei programação No meu dia a dia trabalho trablho com alguns programas como ArcGis, Corel Draw e outros, como usuário.

    Pretendo agora aprender um pouco de análise de dados. Vou tentar seguir…
    Abraaço e muita força.

    Daniel

    Responder
    1. David Matos disse:
      29 de julho de 2020 às 4:16 AM

      Muito obrigado!

      Responder
  9. Matheus Silva disse:
    5 de dezembro de 2020 às 7:57 PM

    Ótimo artigo, tem informações interessantes.
    Eu optei por aprofundar em uma delas e depois iniciar na outra.
    Sendo assim tem mais foco se juntando a comunidades e desafios específicos.
    Bons estudos a todos!

    Responder
    1. David Matos disse:
      7 de dezembro de 2020 às 12:37 AM

      Obrigado Matheus.

      Responder
  10. Silvio Varandas disse:
    20 de março de 2021 às 4:32 PM

    Atualmente com a grande quantidade de pacotes de análise de Dados para o Python, é melhor começar com esta linguagem, pois é mais fácil de aprender e tem uma abrangência genérica como linguagem de progamação, enquanto o R pode ser mais valioso quando se trata de grande quantidades de dados com grande enfoque estatístico. Sugiro começar com Python e depois evoluir para o R, e comparar ambas. E depois use aquela que resolva melhor o seu problema.

    Responder
  11. Pingback: Pós em TI: descubra quais são elas e muito mais! | Blog Estácio
  12. Pingback: Segmentação: Conheça os 7 Tipos e Entenda Como Funcionam - TheZMoT.com
  13. Elysiario Virginio dos Santos disse:
    31 de outubro de 2021 às 5:14 PM

    Particularmente, acho Python mais fácil de aprender e com uma menor curva de aprendizado. Conheço pessoas que não trocam “R” por nada e são entusiastas da ferramenta, mas decidi conhecer um pouco de ambas, ao invés de me deixar lavar pela preferência de terceiros. Optei em me aprofundar mais em Python , através do curso gratuito da DSA (Python Fundamentos Para Análise de Dados 3.0) e não estou me arrependendo, por ser um curso excelente.
    Parabéns pelo artigo e obrigado por compartilhar seu conhecimento, David.
    Elysiario Santos

    Responder
    1. David Matos disse:
      1 de novembro de 2021 às 2:53 PM

      Obrigado Elysiario.

      Responder
  14. Deógeno Assunção disse:
    3 de janeiro de 2022 às 10:07 AM

    Meu primeiro contato com as referidas linguagens foi na universidade, nesse caso com R. Como faço Eng. Agronômica, a maioria dos trabalhos são experimentais, e, portanto, requerem análise estatística. O R foi o indicado para tal, tive que aprender aos poucos, e com a ajuda de um amigo estatístico que já dominava a ferramenta, tornou-se mais fácil e atraente. Como já mencionaram, o fato de focarmos no resultado estatístico, gráficos, testes de hipótese etc, o R vai direto ao ponto, pois há muitos pacotes disponíveis e scripts prontos que agilizam o processo. Enfim, sou iniciante, e estou buscando aprender mais sobre ambas. Abs!

    Responder

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Buscar

Tags Mais Comuns nos Posts

Agentes de IA Analytics Análise de Negócios Apache Spark AWS Big Data Blockchain Business Intelligence Cache-Augmented Generation (CAG) ChatGPT Cientista de Dados Cientistas de Dados Ciência de Dados Cloud Computing Data Lake Data Mesh Data Science Data Scientist Data Warehouse Deep Learning Deploy Engenharia de Dados Estatística GPU GraphRAG Hadoop IA Generativa Inteligência Artificial Internet of Things Linguagem Python Linguagem R LLM LLMs Machine Learning Metadados Normalização NVIDIA Oracle Pipeline de Dados Predictive Analytics Probabilidade PySpark Python RAG Storytelling

Histórico de Posts

  • maio 2025 (1)
  • abril 2025 (2)
  • março 2025 (4)
  • fevereiro 2025 (8)
  • janeiro 2025 (5)
  • dezembro 2024 (4)
  • novembro 2024 (1)
  • outubro 2024 (1)
  • setembro 2024 (1)
  • agosto 2024 (1)
  • julho 2024 (3)
  • junho 2024 (1)
  • maio 2024 (1)
  • abril 2024 (2)
  • março 2024 (1)
  • fevereiro 2024 (1)
  • janeiro 2024 (1)
  • dezembro 2023 (1)
  • outubro 2023 (2)
  • setembro 2023 (1)
  • agosto 2023 (4)
  • julho 2023 (2)
  • junho 2023 (4)
  • maio 2023 (2)
  • abril 2023 (2)
  • março 2023 (3)
  • fevereiro 2023 (3)
  • janeiro 2023 (3)
  • dezembro 2022 (7)
  • novembro 2022 (6)
  • outubro 2022 (2)
  • setembro 2022 (3)
  • agosto 2022 (2)
  • julho 2022 (2)
  • junho 2022 (3)
  • maio 2022 (1)
  • abril 2022 (3)
  • março 2022 (1)
  • fevereiro 2022 (3)
  • janeiro 2022 (2)
  • dezembro 2021 (1)
  • novembro 2021 (5)
  • outubro 2021 (2)
  • setembro 2021 (3)
  • agosto 2021 (1)
  • junho 2021 (1)
  • fevereiro 2021 (2)
  • janeiro 2021 (1)
  • dezembro 2020 (1)
  • novembro 2020 (1)
  • outubro 2020 (2)
  • agosto 2020 (1)
  • abril 2020 (1)
  • março 2020 (1)
  • fevereiro 2020 (2)
  • agosto 2019 (1)
  • abril 2019 (1)
  • setembro 2018 (2)
  • julho 2018 (1)
  • junho 2018 (3)
  • abril 2018 (1)
  • março 2018 (1)
  • fevereiro 2018 (2)
  • janeiro 2018 (1)
  • dezembro 2017 (1)
  • novembro 2017 (1)
  • outubro 2017 (1)
  • setembro 2017 (1)
  • julho 2017 (1)
  • junho 2017 (1)
  • maio 2017 (2)
  • abril 2017 (1)
  • janeiro 2017 (1)
  • novembro 2016 (1)
  • outubro 2016 (1)
  • setembro 2016 (1)
  • julho 2016 (1)
  • junho 2016 (1)
  • maio 2016 (1)
  • abril 2016 (1)
  • fevereiro 2016 (1)
  • janeiro 2016 (3)
  • dezembro 2015 (4)
  • novembro 2015 (6)
  • outubro 2015 (9)
  • setembro 2015 (9)
  • agosto 2015 (9)
©2025 Ciência e Dados