Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

R ou Python?

+4 votos
633 visitas

2 Respostas

+5 votos
respondida Mar 7, 2015 por danielcajueiro (5,051 pontos)  
editado Mar 22, 2015 por danielcajueiro

Talvez a minha resposta para essa pergunta seja enviesada e gostaria de ouvir outros com opiniões diferentes.

1) R é melhor para análise estatística, Python é melhor para análise de dados. Logo, R é mais completo para regressão e Python por exemplo é muito melhor para Machine Learning.

2) R é um pacote estatístico, Python é uma linguagem de programação com vários pacotes (estre eles estatísticos)

3) Quem aprende R, só aprende R. Quem aprende Python aprende uma nova linguagem o que torna mais fácil aprender outras. Python é uma linguagem de programação que segue a linhagem de C, C++, Java e Pascal.

4) Python foca em legibilidade. Por outro lado, é difícil ler um programa em R com tantas palavras incompletas e condensadas. De fato, R foca em execução de comandos de estatística deixando a possibilidade de se fazer algo em linguagem estruturada.

5) O mercado de trabalho é viesado para Python, pois R só cobre um campo "Estatística". (Isso não significa dizer que o salário de um é maior que o do outro, pois isso depende diretamente da oferta e demanda para campos específicos. Lembre que é difícil encontrar bons estatísticos/econometristas que dominem bem o R.)

6) Qualquer pessoa que programa em qualquer linguagem estruturada é capaz de entender um programa em Python. O mesmo não ocorre com R (limitando ainda mais o mercado para R).

7) Existem dezenas de IDEs para Python. Entre eles alguns bem famosos como spyder e Eclipse (os meus preferidos), netbeans + uma lista de 20. Existem apenas dois IDEs populares para R que é o R editor e o R Studio (que é particularmente muito prático). Embora em qualquer um dos casos qualquer editor de texto é suficiente inclusive o bloco de notas ou o Vim (um dos mais populares).

8) Orientação a objeto é natural em Python. Orientação a objetos em R foi construída depois da linguagem já está pronta. (Sendo honesto, isso na verdade, não é tanto problema, pois PHP evoluiu muito ao longo do tempo em termos de orientação a objetos. Mas lembre que PHP tb é muito criticada por causa do estilo.). De qualquer forma, não se espera que alguém escolha o R para programar de forma orientada. Quase nao existem opções naturais de se fazer isso em R. Por outro lado, aparentemente alguns padrões de design comuns de serem construídos em Java e PHP, que são totalmente usuais em Python, não são naturais em R. Um outro problema é a escassa documentação em R.

9) Vc pode executar o R dentro do Python usando RPy. Você também pode executar Python dentro do R.

10) Existem dezenas de implementações ou frameworks para o desenvolvimento de aplicações de internet em Python. O mais popular (que eu saiba) é Django (um framework para desenvolvimento ráṕido de internet). Não conheço nenhum para o R, embora o R possa ser usado em Python (como já foi dito) e PHP por exemplo.

Conclusão: Se meu objetivo for só rodar uma regressão (por mais complexa que seja) eu escolho o R, se meu objetivo for fazer qualquer outra coisa, minha escolha é o Python (considerando apenas essas duas).

+5 votos
respondida Abr 12, 2015 por Alexandre Ywata (171 pontos)  

Como usuário do R, atualmente há um vasto conjunto de funcionalidades para análise de dados utilizando o R. Além disso, há pesquisas mostrando que o R é a linguagem utilizada por mais de 60% dos praticantes de analytics. Uma das grandes vantagens do R é que praticamente todas as novas técnicas (e as antigas também) em estatística e análise de dados têm pacotes implementados em R. Quando eu vou para eventos de estatística, dentro e fora do Brasil, é surpreendente que novas técnicas propostas são automaticamente disponibilizadas pelos próprios autores em R. Com isso, os autores incentivam a utilização das suas metodologias. Finalmente, existem vários cursos para utilização de R para analytics. O www.coursera.org por exemplo possui vários cursos nessa linha.

Ressalto por outro lado que o R não é uma linguagem do tipo que permite programação orientada a objetos. Para a comunidade de computação, o R recebe várias críticas nesse sentido. O Python é uma linguagem mais voltada para o paradigma tradicional de computação.

...