O seu Blog de Psicometria

Tenha acesso à nossa enciclopédia virtual de conhecimento em Psicometria e Análise de Dados

Junte-se a mais de 22.300 membros e receba conteúdos exclusivos e com prioridade

Por que aprender a programar em R?

Marcos Lima

jul 4, 2024

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 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

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), 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.

Softwares 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.

# 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

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 diferentes bancos de dados 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 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, 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 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

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 aplicada a dados psicológicos.

foto ilustrando mulher programando em R

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:

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, 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

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, o Stack Overflow e a R-Ladies. 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

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

Conclusão

Neste post, defendemos a ideia de que pesquisadores quantitativos precisam aprender a programar em R.

Se você quer saber mais sobre a Psicometria Online Academy, acesse nosso site. Conheça toda nossa estrutura aqui 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

Lima, M. (2024, 4 de julho). Por que aprender a programar em R? Blog Psicometria Online. https://blog.psicometriaonline.com.br/por-que-aprender-a-programar-em-r

Bruno Figueiredo Damásio

Sou Psicólogo, mestre e doutor em Psicologia. Venho me dedicando à Psicometria desde 2007.

Fui professor e chefe do Departamento de Psicometria da UFRJ durante os anos de 2013 a 2020. Fui editor-chefe da revista Trends in Psychology, da Sociedade Brasileira de Psicologia (SBP) eEditor-Associado da Spanish Journal of Psychology, na sub-seção Psicometri e Métodos Quantitativos.

Tenho mais de 50 artigos publicados e mais de 3000 citações, nas melhores revistas nacionais e internacionais.

Compartilhe sua opinião sobre este post

Posts sugeridos

Diferenças entre Modelos Lineares e Modelos Lineares Generalizados (GLMs)

Explorando as etapas da análise de dados

Breve check list para escrita de artigo acadêmico

Conteúdo

Mais lidos

Como criar gráficos no R com o ggplot2?

Quais pacotes usar na análise fatorial exploratória no R?

Como reestruturar o formato do banco de dados no R?

Como juntar bancos de dados no R com o dplyr?

Postados recentemente

Como criar gráficos no R com o ggplot2?

Quais pacotes usar na análise fatorial exploratória no R?

Como reestruturar o formato do banco de dados no R?

Como juntar bancos de dados no R com o dplyr?

Deseja se tornar completamente autônomo e independente na análise dos seus dados?

Junte-se a mais de 22.300 membros e receba conteúdos exclusivos e com prioridade

Bruno Figueiredo Damásio

Sou Psicólogo, mestre e doutor em Psicologia. Venho me dedicando à Psicometria desde 2007.

 

Fui professor e chefe do Departamento de Psicometria da UFRJ durante os anos de 2013 a 2020. Fui editor-chefe da revista Trends in Psychology, da Sociedade Brasileira de Psicologia (SBP) eEditor-Associado da Spanish Journal of Psychology, na sub-seção Psicometri e Métodos Quantitativos.

 

Tenho mais de 50 artigos publicados e mais de 3000 citações, nas melhores revistas nacionais e internacionais. Atualmente, me dedico a formação de novos pesquisadores, através da Psicometria Online Academy. Minha missão é ampliar a formação em Psicometria no Brasil e lhe auxiliar a conquistar os seus objetivos profissionais.

Compartilhe sua opinião sobre este post

Posts sugeridos

Diferenças entre Modelos Lineares e Modelos Lineares Generalizados (GLMs)

Explorando as etapas da análise de dados

Breve check list para escrita de artigo acadêmico

Categorias

Cadastre-se para ser notificado com o link das aulas ao vivo:

Módulo 4: Redes neurais artificiais

• Introdução a Deep Learning

• Avaliando sistemas de Deep Learning

• Redes Neurais feitas (sem programação) no SPSS

• Aula bônus: O futuro da IA na Sociedade

• Aula bônus: Dois Estudos de Caso 

Módulo 3: Interpretar e reportar resultados

• Gerar, interpretar e reportar resultados em Machine Learning

Módulo 2: Criando o seu sistema

• Selecionando algoritmos e métodos 
• Práticas de Machine Learning (Sem programação): Decision Tree (JASP), Linear Discriminant Classification (JASP) e Plataforma ORANGE
• Aula Bônus: Avaliação Psicológica e Machine Learning
• Aula Bônus: Livros e Cursos recomendados  
• Aula Bônus: Entrevista com Cientista de Dados focado na área da Saúde

Módulo 1: O que é Machine Learning

• O que é Machine Learning?
• Como a máquina aprende?
• Machine Learning para Psicometria e Pesquisa Quantitativa (pesquisas comentadas)
• Tipos de Machine Learning (Supervisionado e Não-supervisionado)
• Práticas de Machine Learning (Sem programação): JASP e SPSS
Aula Bônus: Filosofia da Inteligência Artificial
• Aula Bônus: Entrevista com Cientista de Dados graduado em Psicologia
• Aula bônus: Estudo de Caso sobre Redução Dimensional 

Preencha abaixo para
participar gratuitamente

Fique tranquilo, não utilizaremos suas informações de contato para enviar qualquer tipo de SPAM. Os dados coletados são tratados nos termos da Lei Geral de Proteção de Dados e você pode se descadastrar da nossa lista de contatos a qualquer momento.