Uma boa notícia: python e R são linguagens tão parecidas quanto português e espanhol, veja a comparação na tabela a seguir.
Se preferir, esse vídeo mostra as comparações que estão listadas nesta página:
| função | python | R |
|---|---|---|
| criar variáveis | a = 23 |
a = 23 a <- 23 |
| ler dataframes | pd.read_csv('restaurante1.csv') |
read.csv('restaurante1.csv') |
| ver tamanho do dataframe | restaurante1.shape |
dim(restaurante1) |
| criar comentários | # linha comentada |
# linha comentada |
| subselecionar dataframe por linhas | restaurante1.query('receitas < 10000') |
restaurante1 %>% filter(receitas < 10000) |
| subselecionar dataframe por colunas | restaurante1.receitas |
restaurante1$receitas |
| criar vetor | a = np.array([3, 4, 5]) |
a <- c(3, 4, 5) |
| subselecionar vetor | a[1:2] |
a[1:2] |
| regressão | smf.ols('receita ~ despesas + empresa', data=dois_restaurantes).fit() |
lm('receita ~ despesas + empresa', data=dois_restaurantes) |
| histograma | restaurante1.receitas.hist() |
ggplot(restaurante1, aes(receitas)) + geom_histogram() |
| valores booleanos | True/False | T/F, TRUE/FALSE |
| primeira posição de um vetor | minha_lista[0] |
minha_lista[1] |
| não use ponto no nome de objetos | novo_objeto = 23 |
novo_objeto = 23 novo.objeto = 23
|
| potenciação | 2**3 |
2**3 2^3 |
| executar comandos | shift+enter |
ctrl+enter |
| delimitação de funções e estruturas | indentação | chaves |
| interface | JupyterLab | JupyterLab RStudio |
| carregar pacotes | import pandas as pd |
library(dplyr) |
| criar funções | def soma(a, b): |
soma = function(a, b){ |
| for loop | for i in range(1, 6): |
for(i in 1:5){ |
| while | while i < 5: |
while(i < 5){ |
| if else | if x >= 0: |
if (x >= 0){ |
Portanto, elas são muito semelhantes na criação de objetos, no trabalho com vetores e dataframes, na criação de gráficos e na análise de regressão a partir de fórmulas.
Uma primeira diferença entre as duas linguagens, já aparente nos exemplos acima, é o fato de que alguns comandos em python começam com siglas ("pd", "np" e "smf"). Elas são abreviaturas do nome dos pacotes onde estão essas funções (respectivamente, pandas, numpy e statsmodels). Essa é uma prática comum nos códigos de python e serve para evitar confusões entre funções de pacotes diferentes, mas com mesmo nome.
Além disso, essas abreviaturas permitem usar o autocomplete para descobrir comandos. Por exemplo, basta digitar "pd." e depois disso apertar a tecla TAB e você verá todos os comandos disponíveis no pacote pandas.
A figura abaixo compara o crescimento das duas linguagens (fonte):
Se quiser experimentar o python, clique aqui para abrir um notebook no Gooogle Colab com uma comparação entre as duas linguagens. Depois de clicar, faça o seguinte: