--- title: "Por que aprender a programar em R?" url: https://www.blog.psicometriaonline.com.br/por-que-aprender-a-programar-em-r canonical: https://www.blog.psicometriaonline.com.br/por-que-aprender-a-programar-em-r language: pt-BR published: 2024-07-04T22:00:03.000Z updated: 2026-03-30T13:39:27.112Z modified: 2026-03-30T13:39:27.112Z author: "Marcos Lima" categories: ["Softwares"] tags: ["análise de dados"] description: "Oferecemos 5 motivos para aprender a programar em R. Também recomendamos um curso gratuito que ensina os primeiros passos na programação em R." source: Blog Psicometria Online --- # Por que aprender a programar em R? > Neste post, defenderemos a ideia de que pesquisadores quantitativos precisam aprender a programar em R. Antes de mais nada, sabemos que pesquisadores quantitativos usam ferramentas para manipular, analisar e visualizar os dados de seus estudos. Nesse sentido, diversos pacotes estatísticos estão d... Neste post, defenderemos a ideia de que pesquisadores quantitativos precisam aprender a programar em R. Antes de mais nada, sabemos que pesquisadores quantitativos usam ferramentas para manipular, analisar e visualizar os dados de seus estudos. Nesse sentido, diversos pacotes estatísticos estão disponíveis para esses fins, incluindo *softwares* comerciais, como o SPSS, e opções gratuitas, como o [JASP](/jasp-um-software-gratuito-para-fazer-analise-de-dados) e o jamovi. O R é uma das ferramentas mais versáteis para atender às necessidades de pesquisadores e consultores em análise quantitativa de dados. Neste post, nós primeiramente definiremos o que é o R. Em seguida, listaremos alguns motivos pelos quais você deveria aprendê-lo. Por fim, apresentaremos algumas de suas desvantagens e onde você pode começar a aprender a programar em R. ## O que é o R? O R é um ambiente e uma linguagem de programação cujos focos principais incluem a manipulação, a análise e a visualização de dados. Em seguida, exploraremos cada aspecto dela em maiores detalhes. Por um lado, podemos pensar no R como um **ambiente**, isto é, como um *software* gratuito, isto é, que podemos baixá-lo e usá-lo em nossos computadores pessoais. Por outro lado, podemos pensar no R como uma **linguagem de programação**, composta por um conjunto de regras que define como o usuário pode utilizar símbolos para se comunicar com o computador (assim como você usa símbolos do português para se comunicar com outros falantes da língua). ![logotipo da linguagem R](/uploads/2024-07_r-logo.jpg) A comunicação do usuário do R com o computador permite a realização de diferentes tarefas. Para isso, o usuário pode baixar facilmente o R em seu computador pessoal por meio do [Comprehensive Archive R Network (CRAN)](https://cran.r-project.org/bin/windows/base/), um repositório contendo os instaladores de diferentes versões do R, bem como os pacotes estatísticos criados por contribuidores. A partir do *download* e instalação do R, você já é capaz de começar a programar em R. S*oftwares* como o SPSS, o JASP e o jamovi são mais amigáveis por serem do tipo clicar e apontar. Em contrapartida, a interação do usuário com o R se dá predominantemente por meio de linhas de comando: o usuário digita códigos na linguagem R e, se os códigos estiverem sintaticamente corretos, o R produzirá as computações e/ou saídas apropriadas. Por exemplo, o código a seguir mostra como gerar dados pseudoaleatórios e plotá-los em um histograma. ```r # carregando pacote library("ggplot2") # define semente para reprodutibilidade set.seed(42) # gerando números pseudoaleatórios dados <- data.frame(x = rnorm(10000)) # e plotando os valores em um gráfico ggplot(dados, aes(x)) + geom_histogram(color = "white", fillcolor = "darkgray") ``` ![histograma gerado com o pacote ggplot2](/uploads/2024-07_grafico-no-r.jpg) ## O que é manipulação, análise e visualização de dados? Conforme mencionado no início da seção anterior, as tarefas realizadas no R têm três focos principais: a manipulação, a análise e a visualização de dados. Descrevemos cada uma delas a seguir. A **manipulação** de dados consiste em limpar, transformar e estruturar os dados de modo que eles fiquem adequados para as análises estatísticas propriamente ditas. Por exemplo, excluir *outliers* do banco de dados e [juntar bancos de dados](/como-juntar-bancos-de-dados-no-r) com base em uma coluna de identificação comum são formas de manipulação de dados. A **análise** de dados consiste em ajustar os dados a modelos estatísticos, de modo a testar hipóteses científicas. Por exemplo, rodar um [teste qui-quadrado de independência](https://blog-academy.replit.app/teste-qui-quadrado-de-independencia-no-r) e ajustar um modelo fatorial confirmatório aos dados são formas de análise de dados. Finalmente, a **visualização** de dados consiste em apresentar graficamente os dados de maneira a transmitir informações de maneira simples e intuitiva. Por exemplo, histogramas, gráficos de linhas e diagrama de caminhos são algumas formas de apresentar os dados ao leitor. Para esse fim, o R conta com uma poderosa biblioteca, o [ggplot2](/como-criar-graficos-no-r-com-o-ggplot2), cujo uso ilustramos na seção anterior. ## 5 motivos para aprender a programar em R Se você já é fluente no uso de pacotes estatísticos mais amigáveis, você pode se perguntar por que deveria migrar para um ambiente que usa linguagem de programação. Nas próximas seções, apresentamos uma lista não exaustiva de motivos pelos quais você deveria aprender a programar em R. ### Motivo 1: O R é uma ferramenta *open-source* O R é uma linguagem *open-source* (de código é aberto), o que quer dizer que qualquer usuário pode modificá-lo e redistribuí-lo. Essa característica do R tem várias implicações. Por exemplo, ele reduz os custos a pesquisadores, que não precisam investir recursos financeiros em licenças de softwares comerciais, como o SPSS. Além disso, o fato de o código-fonte do R ser aberto permite aos usuários criar soluções aos seus problemas. Por exemplo, um pesquisador que frequentemente calcula o [alfa de Cronbach](/como-calcular-o-alfa-de-cronbach-e-o-omega-de-mcdonald-no-jasp) de instrumentos de autorrelato pode criar uma função que toma um banco de dados como entrada e retorna ao usuário o valor do alfa (na verdade, essa funcionalidade já é disponibilizada no pacote `psych`). Embora os usuários possam criar funções personalizadas, o próprio R já vem instalado com diversas funções nativas. Por exemplo, existem funções que arredondam números (função `round`), ajustam modelos de regressão aos dados (função `lm`) e geram simulações de dados por meio de números pseudoaleatórios (por exemplo, função `rnorm`). As funções personalizadas que um usuário crie pode ser compartilhada com outros usuários do R por meio da criação de pacotes. Em síntese, um pacote do R é uma extensão do R base, que permite que usuários realizem diversas tarefas especializadas. Por exemplo: - O pacote `ggplot2` permite que o usuário crie gráficos elegantes, personalizados e de alta qualidade, melhorando assim a comunicação dos resultados de pesquisas; - O pacote `rmarkdown` permite gerar relatórios de análises de dados e exportá-los para diferentes formatos; - O pacote `shiny` permite criar aplicativos web; - O pacote `papaja` permite adequar manuscritos às normas de publicação da *American Psychological Association*. ![pacotes úteis que podem ser usados depois de aprender a programar em R](/uploads/2024-07_ggplot2-rmarkdown-shiny-papaja.jpg) A lista acima é apenas exemplificativa. Para incrementar as funcionalidades do R base, basta realizar a instalação de alguns dos mais de 20 mil pacotes disponíveis para *download* (até a data desta postagem) no CRAN. ### Motivo 2: O R implementa as inovações estatísticas mais rapidamente que outros *softwares* Uma implicação do caráter *open-source* do R é que pesquisadores rapidamente disponibilizam no CRAN as inovações em metodologia e em análise quantitativa de dados. Como resultado, o R reúne aplicações de ponta em termos científicos, em comparação a *softwares* comerciais, que podem ficar defasados com o tempo. Se você já teve que realizar uma série de análises, pode ter se deparado com a situação de ter que conduzir parte das análises em um *software* e a parte restante em um *software* distinto – em decorrência da inexistência, ou do caráter defasado, de todas as análises necessárias em uma única ferramenta. As inovações metodológicas e analíticas são disponibilizadas aos usuários por meio dos nossos já conhecidos pacotes. Por exemplo, o `TOSTER` realiza testes estatísticos de equivalência; o `rmeta` implementa diferentes técnicas metanalíticas; e o `psychonetrics` realiza [análise de redes](/analise-de-rede-aplicada-a-dados-psicologicos) aplicada a dados psicológicos. ![foto ilustrando mulher programando em R](/uploads/2024-07_mulher-aprendendo-a-programar-no-r-2.jpg) ### Motivo 3: O R permite automatizar tarefas repetitivas Você está na pós-graduação e acabou de passar o final de semana realizando uma série de análises quantitativas. No entanto, durante uma reunião de orientação na segunda-feira, seu orientador identifica dois *outliers* em seus dados e solicita que você os exclua e refaça todas as análises, de modo a avaliar o impacto dessas exclusões nos resultados. Se você usa *softwares* do tipo clicar e apontar, possivelmente terá que excluir os dois *outliers* e então realizar novamente todos os procedimentos que realizou durante o final de semana. Embora alguns *softwares* gerem o código subjacente às análises estatísticas, como é o caso do SPSS, poucas pessoas recebem o treinamento necessário para compreender e manipular a sintaxe do SPSS. Em contrapartida, o uso do R permite que seus usuários refaçam suas análises apertando um único botão. No longo prazo, isso representa economia de tempo para atividades mais relevantes na rotina de pesquisadores, como para a importante tarefa de se manter atualizado sobre o fenômeno e construto de seu interesse. A vantagem da automatização de tarefas também se aplica a consultores em análise quantitativa de dados, que podem criar suas próprias funções personalizadas para calcular e gerar relatórios técnicos de diferentes técnicas estatísticas. Por exemplo, é possível criar uma função que automatize o cálculo do teste *t*, de medidas de tamanho de efeito e de representações gráficas dos resultados de uma análise comparando dois grupos. Essa função pode ser reutilizada em consultorias futuras, sempre que o usuário dela necessitar. Em síntese, as possibilidades de personalização que o R oferece são limitadas apenas pela criatividade de seus usuários. **Veja também:** - [**Como juntar bancos de dados no R com o dplyr?**](/como-juntar-bancos-de-dados-no-r) - [**Como reestruturar o formato do banco de dados no R?**](/como-reestruturar-banco-de-dados-no-r) ### Motivo 4: O R contribui para o aumento da reprodutibilidade em ciência Um dos requisitos para avaliarmos que achados científicos têm credibilidade é sermos capazes de repetir esses achados. Nesse contexto, uma das formas de repetição dos achados envolve sua reprodutibilidade, isto é, reanalisar os dados usando as mesmas técnicas estatísticas e obter os mesmos resultados. O uso do R incentiva a reprodutibilidade na medida em que os códigos das análises servem como “receitas de bolo”, informando detalhadamente como os autores do estudo original conduziram suas análises. Após a conclusão de um estudo, pode-se compartilhar código e dados das análises em repositórios como o [Open Science Framework](https://osf.io/), o que contribui para o movimento em defesa da ciência aberta. Esse compartilhamento permite que pesquisadores independentes reproduzam ou mesmo estendam as análises originais. O R permite que os códigos sejam comentados, o que facilita que usuários compreendam o que cada trecho de códigos faz. ![logotipo do Open Science Framework, onde pesquisadores podem depositar seus scripts em R para outros pesquisadores](/uploads/2024-07_open-science-framework.jpg) ### Motivo 5: O R conta com uma grande comunidade de suporte Se você tiver alguma dúvida sobre um pacote ou função do R, há boas chances de alguém já ter se deparado com um problema similar ao seu. Além disso, é bem provável que alguém generosa e gratuitamente tenha auxiliado o usuário anterior com uma solução ao problema. Em outras palavras, uma simples busca sobre sua dúvida em buscadores é provável de resultar em caminhos apontando para a solução do problema. Existe uma ampla e apoiadora comunidade quando o assunto se trata do R, incluindo o [R-bloggers](https://www.r-bloggers.com/), o [Stack Overflow](https://stackoverflow.com/) e a [R-Ladies](https://rladies.org/). Além disso, o próprio CRAN contém uma série de recursos gratuitos em diferentes idiomas, incluindo o português. ![logotipo da R-Ladies](/uploads/2024-07_r-ladies.jpg) ## Quais são as principais desvantagens de aprender a programar em R? Nem tudo são flores no mundo da programação. Eventualmente, você irá se deparar com algumas desvantagens do R. Descrevemos as principais delas a seguir. Primeiramente, algumas funcionalidades avançadas dependem de pacotes externos, os quais possuem diferentes desenvolvedores e mantenedores. Por exemplo, atualmente, o pacote psychonetrics, cujo mantenedor é Sacha Epskamp, depende do pacote lavaan, cujo mantenedor é Yves Rosseel. Essa dependência entre pacotes pode levar a incompatibilidades em algumas situações, já que alguns pacotes têm manutenção mais frequente e de maior qualidade que outros. Em segundo lugar, por ser predominantemente voltado para a computação estatística, o R pode oferecer menos suporte para outras tarefas, como desenvolvimento web de maneira mais ampla, em comparação a outras linguagens de programação de propósito geral, como o Python. Por fim, a curva de aprendizagem do R é mais íngreme. Em outras palavras, dada a sua interface menos amigável, os aprendizes levam, em média, mais tempo para adquirir certa autonomia no R, em comparação ao que levariam em outros softwares, como o SPSS. ![robô humanóide representando indiretamente a automatização de tarefas em R](/uploads/2024-07_automatizacao-de-tarefas-1.jpg) ## Onde aprender a programar em R? Neste post, defendemos a ideia de que pesquisadores quantitativos precisam aprender a programar em R. Se você quer aprender a programar em R, saiba que a formação da [**Psicometria Online Academy**](https://academy-po.psicometriaonline.com.br/?utm_source=blog&utm_medium=organico&utm_campaign=&utm_term=&utm_content=post) possui cursos completos nessa linguagem. Cadastre-se gratuitamente na [**Psicometria Online Academy**](https://academy-po.psicometriaonline.com.br/?utm_source=blog&utm_medium=organico&utm_campaign=&utm_term=&utm_content=post) e nunca mais passe trabalho sozinho(a). ## Referências Crawley, M. J. (2012). *The R book* (2nd ed.). John Wiley & Sons, Ltd. Field, A., Miles, J., & Field, Z. (2012). *Discovering statistics using R*. Sage. Wright, D. B., & London, K. (2009). *Modern regression techniques using R: A practical guide for students and researchers*. Sage. ## Como citar este post > **Como citar este artigo:** Lima, M. (2024, 4 de julho). Por que aprender a programar em r? *Blog Psicometria Online*. https://www.blog.psicometriaonline.com.br/por-que-aprender-a-programar-em-r