Curso Básico de R: Comece a Programar e Analisar Dados com R!
Crie seus primeiros projetos com o nosso Curso Básico de R! Aprenda de forma fácil, gratuita e domine essa linguagem essencial para análise e ciência de dados, mesmo começando do zero.
Se você sempre quis aprender a trabalhar com dados, agora é a hora! Com o nosso curso de R, você vai dar os primeiros passos em programação e estatística de maneira prática e acessível.
Com aulas diretas e bem organizadas, vamos te ensinar tudo o que você precisa saber para começar a analisar dados e desenvolver seus próprios projetos em R.
O Curso Básico de R da Hashtag Treinamentos é gratuito e ensina a linguagem do zero em 9 aulas: RStudio, variáveis, funções, vetores, matrizes, fatores, data frames, listas e estruturas condicionais. Para acompanhar, instale o R e o RStudio e siga as aulas em ordem, resolvendo os desafios práticos das aulas 2 a 9. O foco é a base da linguagem; gráficos com ggplot2 ficam para uma etapa seguinte.
Conteúdo do Curso:
Aula 1: Introdução ao R e RStudio para Iniciantes
Começar a programar em R pode parecer desafiador à primeira vista, mas com uma abordagem prática e passo a passo, é totalmente possível dominar essa linguagem desde o básico.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Na primeira aula do Curso Básico de R, você vai aprender desde a instalação do R e do RStudio até a execução dos seus primeiros comandos e a estruturação de um projeto.
O que é o R?
O R é uma linguagem de programação open source desenvolvida especialmente para análise estatística, ciência de dados e visualização gráfica. Muito utilizada em áreas como estatística, economia, bioinformática e marketing, é uma linguagem poderosa e bastante versátil.
Ela foi criada por Ross Ihaka e Robert Gentleman, sendo inspirada na linguagem S.
O que é o RStudio?
O RStudio é uma IDE (Ambiente de Desenvolvimento Integrado) que facilita o uso do R. Ele oferece recursos como editor de código, visualização de gráficos, gerenciamento de pacotes e muito mais, tudo em uma interface moderna, prática e intuitiva.
Como instalar o R e o RStudio?
Para acompanhar o Curso Básico de R e começar a programar, é essencial instalar duas ferramentas:
- R: a linguagem propriamente dita, disponível em cran.r-project.org.
- RStudio: o ambiente de desenvolvimento que facilita a escrita, organização e execução dos códigos em R. Pode ser baixado em posit.co/download/rstudio-desktop.
A instalação é simples e compatível com Windows, macOS e Linux.
Se quiser, também pode acessar um passo a passo completo para instalar e configurar essas ferramentas aqui.
Conhecendo a Interface do RStudio
O RStudio é composto por quatro painéis principais:
- Script: editor onde os códigos são escritos, salvos e organizados.
- Ambiente: exibe os objetos carregados, como variáveis e funções em uso.
- Console: onde os comandos são executados diretamente.
- Arquivos, Plots e Pacotes: áreas para navegação entre diretórios, visualização de gráficos e gerenciamento de pacotes.

Por padrão, a janela de Script não aparece ao abrir o RStudio. Para ativá-la, vá até o menu superior e clique em File > New File > R Script, ou use o atalho Ctrl + Shift + N.

Isso abrirá a janela do script, onde você poderá escrever seus códigos em R.
Criando um Projeto no RStudio
Para começar, vamos criar um novo projeto no RStudio, onde desenvolveremos e armazenaremos todos os scripts e arquivos do nosso curso:
- Vá até File > New Project.
- Selecione New Directory > New Project.
- Escolha um nome e um local para a pasta do projeto.
- Clique em Create Project.

Uma nova pasta será criada, e todos os arquivos relacionados ao curso devem ser salvos dentro dela. Isso evita erros de diretório e facilita a organização.
Escrevendo e executando seu primeiro código em R
No RStudio, você pode escrever comandos diretamente no Console ou utilizar o painel de script, que permite salvar e organizar seu código ao longo do tempo.
Executando comandos no Console
Para testar o funcionamento do R, digite o seguinte comando no Console e pressione Enter:
print("Olá, Mundo!")O resultado será exibido logo abaixo, confirmando que o R está funcionando corretamente.

Executando um script no RStudio
Além do Console, o painel de script é ideal para organizar seus projetos e reutilizar seus códigos.
Para executar um comando a partir do script, selecione a linha desejada e clique no botão Run, ou pressione Ctrl + Enter no teclado. Vamos testar?
Digite o seguinte código no arquivo de script e execute:
10 + 8O resultado dessa operação será exibido no Console. Essa é uma forma prática de começar a programar no R e visualizar os resultados de maneira organizada dentro do RStudio.

Para salvar, clique no ícone de disquete ou use o atalho Ctrl + S. Dê um nome ao seu script (por exemplo: 01.introducao_r_studio), e salve o arquivo dentro da pasta do projeto do curso. Isso ajuda a manter tudo organizado desde o início.
Aula 2: Variáveis e Tipos de Dados Explicados
Na segunda aula do nosso curso básico de R vamos ver passo a passo como usar variáveis e tipos de dados em R.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Dominar variáveis e tipos de dados é essencial para programar em R. Esses conceitos são a base para escrever qualquer código funcional, seja para análise estatística, visualização de dados ou modelagem.
O que são Variáveis em R
Uma variável pode ser entendida como um recipiente onde se armazena um valor para uso posterior. Imagine uma caixa onde você coloca um objeto. Esse objeto pode ser retirado, trocado ou visualizado sempre que necessário.
Da mesma forma, uma variável guarda um valor (como um número, texto ou valor lógico) que você poderá utilizar e manipular ao longo do seu código.
No R, atribuímos valores às variáveis com operadores específicos. O método mais recomendado na linguagem é o uso do operador <-, embora o = também funcione.
x <- 10Esse código cria uma variável chamada x e atribui a ela o valor 10.
Criando Sessões no Script
As sessões servem para segmentar o código em blocos temáticos, facilitando a leitura e manutenção. Essas marcações podem ser criadas automaticamente com o atalho Ctrl + Shift + R, digitando o nome da sessão e pressionando Enter.
Atribuição de Variáveis em R
Para declarar uma variável, basta usar a seguinte estrutura:
nome_variavel <- valor
Se preferir, pode usar o atalho Alt + - (Alt e sinal de menos) para inserir rapidamente o símbolo <-.
Você também pode exibir o valor da variável no console com a função print():
salario <- 2500
print(salario)Mas no R, basta digitar o nome da variável e pressionar Ctrl + Enter para ver o valor.
Operações com Variáveis
As variáveis também podem ser utilizadas para realizar operações matemáticas.
uvas <- 18
laranjas <- 22
total_frutas <- uvas + laranjas
print(total_frutas)
Nesse exemplo, estamos somando valores armazenados em variáveis. Assim, também é possível subtrair, multiplicar ou dividir valores.
Nomes de Variáveis em R: Regras Importantes
No R, existem boas práticas e regras para definir nomes válidos de variáveis:
- Deve começar com uma letra ou um ponto seguido de uma letra.
- Pode conter letras, números, pontos e underlines.
- Não pode conter espaços, hífens, símbolos especiais (%, -, & etc.).
- Não pode usar palavras reservadas da linguagem, como if, TRUE, print.
Além disso, o R diferencia maiúsculas de minúsculas. Ou seja, idade, Idade e IDADE são variáveis distintas.
Tipos de Dados em R
Existem diferentes tipos de dados que podem ser armazenados em R, entre eles, os principais e mais comuns são: numeric, character e logical.
1. Numeric
São valores que representam números, inteiros ou decimais.
numero_inteiro <- 10
numero_decimal <- 4.5Para identificar o tipo de dado de uma variável, use a função class():
class(numero_inteiro)
Se desejar especificar explicitamente que o número é inteiro, adicione um L:
numero_exato <- 4L
class(numero_exato)
2. Character
Representa textos. Sempre deve estar entre aspas:
nome <- "Joana"É possível armazenar números como texto:
cpf <- "12345678900"Isso é útil quando você não pretende fazer cálculos com o valor.
3. Logical
Armazena valores booleanos: TRUE ou FALSE.
ativo <- TRUE
inativo <- FALSEEsse tipo de dado será fundamental em estruturas condicionais como if, else e também estruturas de repetição como for.
Boas Práticas com Variáveis em R
- Use nomes descritivos para variáveis.
- Prefira o operador <- para atribuição.
- Evite espaços e símbolos nos nomes das variáveis.
- Separe blocos de código por sessões.
- Use print() para tornar o código mais legível.
Desafio Prático Aula 2: Cálculos com Variáveis no R
Vamos aplicar tudo o que foi visto nessa aula com um desafio prático envolvendo variáveis no R.
Exercício: Você decidiu começar a economizar dinheiro e quer acompanhar suas economias ao longo do mês.
No início do mês, você tinha R$ 150,00 guardados.
Durante o mês, você recebeu R$ 1000,00 de salário e gastou R$ 200,00 com despesas.
Seu desafio é:
- Criar três variáveis para armazenar os valores iniciais, recebidos e gastos.
- Criar uma nova variável para o saldo final que calcule quanto dinheiro sobrou.
- Exibir o saldo final.
Solução do desafio:
iniciais <- 150
recebidos <- 1000
gastos <- 200
saldo_final <- iniciais + recebidos - gastos
print(saldo_final)
Aula 3: Como Usar e Criar Funções no R
Aprenda como criar e usar funções no R na terceira aula do nosso curso completo da linguagem R.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
As funções permitem que você reutilize código, torne seus scripts mais organizados e automatize tarefas repetitivas de forma eficiente.
Nesta aula, você vai entender o que são funções no R, como usá-las, como visualizar seus componentes, e principalmente, como criar suas próprias funções personalizadas. Todos os conceitos são explicados com clareza e exemplos práticos.
O que é uma função no R?
Uma função é um bloco de código que executa uma tarefa específica. Ela recebe valores de entrada chamados argumentos, realiza operações com esses valores e retorna uma saída.
Você fornece dados, ela executa instruções internamente e entrega um resultado. Um dos principais benefícios das funções é a reutilização, você escreve o código uma vez e pode usá-lo sempre que precisar, sem reescrevê-lo.
Estrutura básica de uma função
Antes de criar suas próprias funções, é importante entender como elas são estruturadas. A sintaxe básica de uma função no R é:
nome_da_funcao <- function(argumentos) {
# corpo da função
}Por exemplo:
soma_dois_numeros <- function(a, b) {
resultado <- a + b
return(resultado)
}Essa função recebe dois argumentos (a e b), soma-os e retorna o resultado.
Usando funções embutidas no R
O R possui várias funções já prontas. Um exemplo clássico é a função print(), usada para exibir mensagens no console.
Ao usar funções, você sempre deve escrever o nome da função seguido de parênteses. Os argumentos são passados dentro desses parênteses.
Descobrindo os argumentos de uma função
É comum não saber quais argumentos uma função aceita. Para isso, o R oferece a função args():
args(sample)
Como resultado, temos a lista de todos os argumentos que a função sample() aceita, como x, size, replace e prob.
Outra maneira útil de explorar uma função é acessar sua documentação com o símbolo ?:
?sampleEssa chamada abre a janela de ajuda do R com informações detalhadas sobre a função, incluindo exemplos práticos.

Entendendo parâmetros e valores padrão
Alguns argumentos já vêm com um valor definido. Esses são chamados de parâmetros com valor padrão e não precisam ser obrigatoriamente passados ao chamar a função.
Na função sample(), por exemplo:
sample(1:6, size = 2, replace = TRUE)Nesse exemplo:
- x é o vetor a ser sorteado.
- size é a quantidade de elementos a sortear.
- replace define se os valores podem se repetir.
- prob é um vetor de probabilidades para cada elemento de x.
- Se replace não for informado, ele será assumido como FALSE, seu valor padrão.
Exemplo prático: Simulando um dado com a função sample()
Vamos simular o lançamento de um dado com a função sample():
dado <- 1:6
sample(dado, size = 1)
Aqui, criamos um vetor de números de 1 a 6, representando um dado comum, e sorteamos um número com sample().
Se quisermos simular o lançamento de dois dados, com possibilidade de repetir números, usamos:
sample(dado, size = 2, replace = TRUE)
Adicionando probabilidade ao sorteio
Para aumentar a chance de um número específico ser sorteado, usamos o argumento prob. O vetor de probabilidades deve ter o mesmo tamanho do vetor a ser sorteado, no caso o dado.
sample(dado, size = 1, replace = TRUE, prob = c(1, 1, 1, 1, 1, 50))Neste exemplo, o número 6 tem mais chance de aparecer. O R ajusta os pesos automaticamente, não sendo necessário que eles somem 1 ou 100.

Visualizando o código interno de uma função
Para entender como uma função do R é construída, é possível visualizar seu “corpo” com a função body():
body(sample)Isso exibe o código-fonte que define a função. É uma excelente forma de aprendizado e compreensão interna da linguagem.

Criando uma função personalizada no R
Agora que os conceitos básicos estão claros, vamos criar uma função própria. Suponha que você queira simular o lançamento de dois dados e retornar a soma:
jogar_dados <- function() {
dado <- 1:6
resultado <- sample(dado, size = 2, replace = TRUE)
return(sum(resultado))
}Depois de definir a função, você pode chamá-la com:
jogar_dados()Toda vez que você chamar jogar_dados(), dois números aleatórios serão sorteados e somados.

Desafio Prático Aula 3: Criando uma função com probabilidade manipulada
Vamos aplicar isso em um cenário divertido para que você possa revisar tudo que aprendeu sobre funções em R.
Exercício: Você e seus amigos decidiram fazer um sorteio para ver quem vai pagar o almoço hoje! Cada um pegou um papel com um número de 1 a 5. O seu número foi o 3. Faça o sorteio de uma forma que aumente sua chance de escapar!
Seu desafio é:
- Utilizar a função sample() para sortear aleatoriamente um número de 1 a 5.
- Usar o argumento prob para ajustar as chances de cada número ser sorteado.
- Exibir na tela o número escolhido!
Dica: Use ?sample para entender como funciona o argumento prob.
Solução do desafio:
sortear_numero <- function() {
numeros <- 1:5
sample(numeros, size = 1, prob = c(1, 1, 0, 1, 1))
}
sortear_numero()Esta função chamada sortear_numero, irá sortear um número de 1 a 5 com probabilidade zero para o número 3 (o seu número), evitando que ele seja escolhido.

Aula 4: Vetores, criação e manipulação
Na aula 4 do nosso curso de R veremos sobre vetores em R: criação, manipulação, operações e análise de dados.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Vetores em R são a base para trabalhar com dados de maneira organizada e eficiente. Dominar a criação, manipulação e análise de vetores é essencial para qualquer pessoa que deseje aprender ou se aprofundar na linguagem R.
O que são Vetores em R?
Vetores em R são estruturas de dados unidimensionais capazes de armazenar múltiplos valores do mesmo tipo.
Essa homogeneidade é fundamental: um vetor armazena exclusivamente números, caracteres ou valores lógicos, mas nunca uma combinação desses tipos.
Por que vetores são importantes?
Porque são a forma mais simples e direta de estruturar dados. Seja para análises estatísticas ou manipulação de grandes volumes de informações, vetores são amplamente utilizados.
Como Criar Vetores em R
Existem diversas formas de criar vetores em R. A seguir, detalhamos cada uma delas, explicando a sintaxe e quando utilizá-las.
Criando Vetores com a Função c()
A função c() (de concatenate) é a forma mais básica de criar vetores.
vetor_num <- c(1, 2, 3, 4, 5)
vetor_num
Neste exemplo, criamos um vetor numérico com cinco elementos. Cada valor é separado por uma vírgula. O R agrupa todos esses valores em uma estrutura única.
Importante: Todos os elementos devem ser do mesmo tipo. Se inserir um caractere no meio de números, o R fará a coerção automaticamente de todos os elementos para caractere.
vetor_num <- c("a", 2, 3, 4, 5)
vetor_num
Criando Sequências com o Operador :
O operador : permite criar sequências de números de forma rápida e simples.
sequencia <- 1:5
sequencia
Ideal para gerar intervalos consecutivos.
Criando Sequências com a Função seq()
Quando é preciso maior controle sobre a sequência, podemos usar a função seq(), que é a mais indicada.
seq(from = 1, to = 10, by = 2)
Parâmetros:
- from: valor inicial.
- to: valor final.
- by: incremento entre os valores.
Dessa forma, você pode criar, por exemplo, uma sequência apenas com os números ímpares de 1 a 99:
seq(from = 1, to = 99, by = 2)Tipos de Vetores em R
Os vetores podem ser de três tipos principais:
1. Numéricos: Armazenam valores numéricos, como inteiros ou decimais.
vetor_num <- c(10, 20, 30)2. Caractere (Strings): Armazenam sequências de texto.
vetor_caracter <- c("A", "B", "C")3. Lógicos: Armazenam valores booleanos: TRUE ou FALSE.
vetor_logico <- c(TRUE, FALSE, TRUE)Atenção: Não é possível misturar tipos diferentes no mesmo vetor. Caso isso ocorra, o R realiza uma conversão automática para o tipo mais abrangente, geralmente caractere.
Operações com Vetores em R
Depois de criar vetores, diversas operações podem ser realizadas com eles. A seguir, veremos como trabalhar com vetores numéricos e efetuar análises.
Somando Vetores
Quando dois vetores possuem o mesmo tamanho, o R executa a soma elemento a elemento.
vendas_joao <- c(15, 12, 25, 32, 60)
vendas_maria <- c(16, 18, 25, 22, 72)
vendas_diarias <- vendas_joao + vendas_maria
Funções e Estatísticas Básicas com Vetores
O R possui diversas funções nativas que podemos aplicar com vetores:
- sum(): soma de todos os elementos.
- mean(): média aritmética.
- summary(): resumo estatístico completo.
sum(vendas_joao) # Soma total
mean(vendas_joao) # Média
summary(vendas_joao) # Resumo estatísticoAs estatísticas que o summary() retorna são: mínimo, primeiro quartil, mediana, média, terceiro quartil e máximo.

Nomeando Elementos de um Vetor
Para tornar a interpretação mais clara, é possível nomear cada elemento de um vetor com a função names().
dias <- c("Seg", "Ter", "Qua", "Qui", "Sex")
names(vendas_joao) <- dias
names(vendas_maria) <- dias
vendas_joao
vendas_maria
Agora, ao exibir vendas_joao e vendas_maria, cada valor será associado ao respectivo dia da semana.
Comparando Vetores
Vetores podem ser comparados elemento a elemento com operadores relacionais.
vendas_joao > vendas_maria
O vetor lógico indica em quais dias João vendeu mais que Maria, sendo FALSE quando ele não vendeu e TRUE quando vendeu.
Acessando Elementos de um Vetor
Existem duas formas principais de acessar elementos:
1. Por índice numérico:
O índice em R começa em 1.
vendas_joao[3]Retorna o valor correspondente à quarta-feira, por exemplo.

2. Por Nome
Se o vetor estiver nomeado, pode-se acessar diretamente pelo nome:
vendas_joao["Qua"]Retorna o valor das vendas de quarta-feira.

Alterando Elementos de um Vetor
Para modificar um elemento, basta atribuir um novo valor à posição desejada.
vendas_joao["Qua"] <- 35
vendas_joaoAgora, o valor de vendas de João na quarta-feira é 35.

Adicionando Novos Elementos
Elementos podem ser adicionados a vetores utilizando a mesma sintaxe de colchetes.
vendas_joao["Sab"] <- 75
vendas_joaoAssim, o vetor passa a conter um elemento extra para o sábado.

Desafio Prático Aula 4: Controle de Estoque
Para reforçar os conceitos vistos nessa aula, vamos resolver um desafio prático utilizando os vetores para gerenciar o estoque de uma loja.
Exercício: Você trabalha em uma loja de eletrônicos e precisa analisar o estoque de cinco produtos. Cada produto tem uma quantidade disponível, e seu gerente pediu um relatório simples para avaliar quais produtos precisam de uma reposição de estoque. O mínimo é de 15 unidades por produto.
Seu desafio é:
- Criar os vetores necessários.
- Criar variável com o limite mínimo.
- Nomear os elementos do vetor.
- Descobrir quantos itens há no estoque no total.
- Identificar qual produto precisa de reposição.
Dados do estoque:
- Notebook: 12 unidades
- Smartphone: 16 unidades
- Tablet: 28 unidades
- Fone de ouvido: 8 unidades
- Carregador: 18 unidades
Dica: Utilize names(), sum() e o operador < para resolver o desafio.
Solução do desafio:
# Criando os Vetores
produtos <- c("Notebook", "Smartphone", "Tablet", "Fone de Ouvido", "Carregador")
estoque <- c(12, 16, 28, 8, 18)
names(estoque) <- produtos
# Definindo o limite mínimo
limite_min <- 15
# Calculando o total do estoque
total_estoque <- sum(estoque)
# Identificando Necessidade de Reposição
produtos_reposicao <- estoque < limite_min
produtos_reposicao <- names(estoque[produtos_reposicao])
# Exibindo a Mensagem
cat("Produtos que precisam de reposição: ", paste(produtos_reposicao, collapse = ", "))
Além dos principais tópicos abordados na aula, também utilizamos algumas funções auxiliares para exibir o resultado.
Funções Auxiliares:
- cat(): imprime múltiplos valores em uma linha.
- paste(): concatena valores, útil para criar mensagens.
- collapse: parâmetro que define o separador entre valores concatenados.
Aula 5: Matrizes, aplicações e exemplos
Aprenda tudo sobre matrizes em R: criação, manipulação, nomeação e análise com exemplos práticos e detalhados com a quinta aula do nosso Curso de R.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
As matrizes em R são uma das estruturas de dados fundamentais na linguagem. Dominar a criação, manipulação e análise de matrizes é essencial.
Nesta aula, você vai aprender, passo a passo, como criar matrizes em R, nomear suas dimensões, acessar e manipular elementos, além de realizar análises práticas e resolver desafios.
O que são Matrizes em R?
Antes de partir para a prática, é importante entender o conceito. Matrizes são coleções de elementos do mesmo tipo, organizadas em duas dimensões: linhas e colunas. Assim como os vetores, todos os elementos de uma matriz devem pertencer ao mesmo tipo de dado, seja numérico, caractere ou lógico.
Por que não podemos misturar tipos?
Em R, estruturas como matrizes e vetores mantêm a coerência de tipo para garantir operações matemáticas e lógicas consistentes. Se for necessário armazenar diferentes tipos, o ideal é utilizar listas ou data frames.
Diferença entre matrizes e vetores:
Enquanto os vetores são unidimensionais, as matrizes são bidimensionais, permitindo representar tabelas e realizar operações complexas de maneira mais organizada.
Como Criar Matrizes em R
A criação de matrizes em R é realizada através da função matrix(). Sua sintaxe básica é:
matrix(data, nrow, ncol, byrow = FALSE, dimnames = NULL)Principais argumentos:
- data: vetor com os dados que formarão a matriz.
- nrow: número de linhas.
- ncol: número de colunas.
- byrow: determina a ordem de preenchimento. Se TRUE, preenche por linha; se FALSE, preenche por coluna.
- dimnames: lista com nomes das linhas e colunas.
Exemplo Prático: Criando uma matriz 3×3
matriz <- matrix(1:9, nrow = 3, byrow = TRUE)
matrizAqui, criamos uma matriz com os números de 1 a 9, organizada em 3 linhas e 3 colunas. O argumento byrow = TRUE indica que os elementos serão preenchidos linha a linha, e não coluna por coluna (que seria o padrão).

Como Nomear Linhas e Colunas de Matrizes em R
Nomear as dimensões de uma matriz melhora a legibilidade e facilita a manipulação de dados. Para isso podemos usar as funções rownames() e colnames() ou então o argumento dimnames.
Usando as funções rownames() e colnames()
vendas_joao <- c(15, 12, 25, 32, 60)
vendas_maria <- c(16, 18, 25, 22, 72)
vendas_mariana <- c(18, 17, 22, 35, 80)
vendas <- c(vendas_joao, vendas_maria, vendas_mariana)
vendedores <- c("João", "Maria", "Mariana")
dias <- c("Seg", "Ter", "Qua", "Qui", "Sex")
matriz_vendas <- matrix(vendas, nrow = 3, byrow = TRUE)
rownames(matriz_vendas) <- vendedores
colnames(matriz_vendas) <- dias
matriz_vendas
Usando o argumento dimnames na criação
vendas_joao <- c(15, 12, 25, 32, 60)
vendas_maria <- c(16, 18, 25, 22, 72)
vendas_mariana <- c(18, 17, 22, 35, 80)
vendas <- c(vendas_joao, vendas_maria, vendas_mariana)
vendedores <- c("João", "Maria", "Mariana")
dias <- c("Seg", "Ter", "Qua", "Qui", "Sex")
matriz_vendas <- matrix(vendas, nrow = 3, byrow = TRUE, dimnames = list(vendedores, dias))
matriz_vendas
Vantagem: Com dimnames, você nomeia diretamente na criação, evitando a necessidade de chamadas separadas para as funções de nomeação.
Como Acessar Elementos de Matrizes em R
Em matrizes, o acesso a elementos é feito utilizando índices entre colchetes: [linha, coluna].
Exemplo: Acessar o elemento na linha 2 e coluna 3
matriz_vendas[2, 3]
Importante: Em R, o acesso sempre segue a ordem linha, depois coluna.
Acesso por nomes:
Se a matriz foi nomeada, também é possível acessar os elementos pelo nome da linha e da coluna:
matriz_vendas["João", "Ter"]
Como Selecionar Subconjuntos de Matrizes
É possível acessar subconjuntos ou “fatias” de uma matriz:
matriz_vendas[1:3, 1:2]Nesse caso estamos pegando todas as linhas (1:3) e apenas as duas primeiras colunas (1:2)

Dica: Quando desejamos todas as linhas ou todas as colunas, o espaço correspondente ao índice pode ser deixado em branco, mantendo a vírgula.
Por exemplo, o código abaixo também pega todas as linhas e apenas as duas primeiras colunas.
matriz_vendas[, 1:2]Operações Comuns em Matrizes: Soma e Média
Assim como nos vetores, podemos usar algumas funções muito úteis para análises estatísticas rápidas diretamente sobre a matriz como a rowSums(), que soma todos os elementos das linhas, e a rowMeans(), que calcula a média das linhas.
total_vendas <- rowSums(matriz_vendas)
media_vendas <- rowMeans(matriz_vendas)
Como Manipular Matrizes: Adicionando Linhas e Colunas
Adicionando Linhas com rbind()
A função rbind() concatena uma ou mais linhas no final da matriz. Essa linha pode ser nomeada utilizando o operador =.
vendas_henrique <- c(14, 12, 24, 17, 68)
matriz_vendas <- rbind(matriz_vendas, "Henrique" = vendas_henrique)
matriz_vendas
Adicionando Colunas com cbind()
Já a função cbind() concatena uma ou mais colunas.
total_vendas <- rowSums(matriz_vendas)
media_vendas <- rowMeans(matriz_vendas)
matriz_vendas <- cbind(matriz_vendas, "Total" = total_vendas, "Média" = media_vendas)
matriz_vendas
Observação: O número de elementos adicionados deve ser compatível com o número de linhas ou colunas existentes.
Desafio Prático Aula 5: Campeonato Carioca
Para fixar o conteúdo, vamos partir para o desafio prático da aula:
Exercício: Os quatro grandes clubes do Rio de Janeiro — Flamengo, Fluminense, Vasco e Botafogo — disputaram 11 rodadas na fase de liga do Campeonato Carioca 2025. Durante essa fase, cada time marcou uma quantidade específica de gols, como indica o vetor abaixo:
gols <- c(
1, 1, 1, 5, 2, 2, 5, 0, 1, 2, 5, # Flamengo
0, 0, 1, 3, 0, 1, 1, 2, 0, 2, 3, # Fluminense
1, 0, 1, 2, 4, 1, 2, 1, 0, 0, 1, # Vasco
1, 2, 1, 1, 2, 2, 1, 0, 0, 1, 0 # Botafogo
)Seu desafio é:
- Criar uma matriz 4×11 com os gols de cada time por rodada.
- Nomear corretamente as linhas e as colunas.
Após criar a matriz, responda: Qual time marcou o maior número de gols nessa fase do Carioca?
Dica: Para criar o vetor com as rodadas utilize paste("Rodada", 1:11).
Solução do desafio:
gols <- c(
1, 1, 1, 5, 2, 2, 5, 0, 1, 2, 5, # Flamengo
0, 0, 1, 3, 0, 1, 1, 2, 0, 2, 3, # Fluminense
1, 0, 1, 2, 4, 1, 2, 1, 0, 0, 1, # Vasco
1, 2, 1, 1, 2, 2, 1, 0, 0, 1, 0 # Botafogo
)
times <- c("Flamengo", "Fluminense", "Vasco", "Botafogo")
rodadas <- paste("Rodada", 1:11)
matriz_gols <- matrix(gols, nrow = 4, byrow = TRUE, dimnames = list(times, rodadas))
total_gols <- rowSums(matriz_gols)
matriz_gols <- cbind(matriz_gols, "Total" = total_gols)
time_mais_gols <- names(which.max(total_gols))
cat("O time que mais fez gols foi o", time_mais_gols)
Para esse desafio, primeiramente, criamos um vetor de gols, agrupando os resultados de cada time em sequência.
Em seguida, definimos os nomes das linhas (os times) e das colunas (as rodadas), o que tornou a matriz mais legível. Com a função matrix(), organizamos os dados em uma estrutura de 4 linhas e 11 colunas, preenchida por linha para manter a ordem dos dados.
Depois, calculamos o total de gols de cada time utilizando rowSums(), e adicionamos esse total como uma nova coluna à matriz com cbind(). Por fim, identificamos o time com mais gols usando which.max() e exibimos o nome do time campeão em gols com a função cat().
Aula 6: Fatores e variáveis categóricas
Na sexta aula do nosso Curso Básico em R veremos o que são e como funcionam os fatores e as variáveis categóricas em R!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
No R, fatores são uma estrutura de dados fundamental para representar variáveis categóricas, ou seja, variáveis que assumem um número limitado de valores distintos, chamados de níveis.
Essas variáveis são essenciais em análises estatísticas e visualização de dados, pois permitem categorizar e agrupar informações de maneira eficiente.
Por exemplo, o estado civil de indivíduos (solteiro, casado, divorciado) ou o gênero (masculino, feminino) são variáveis categóricas típicas.
Nesta aula você aprenderá a criar e manipular fatores nominais e ordinais, entenderá sua importância e verá como utilizá-los para análises e gráficos.
Por que usar Fatores em R?
O uso de fatores é essencial quando se trabalha com dados categóricos, pois:
- Permite o armazenamento eficiente das categorias.
- Facilita operações estatísticas, como sumarizações.
- Melhora a clareza na visualização de dados.
- Evita erros comuns de interpretação ao lidar com textos.
Por padrão, o R armazena strings como caracteres simples. No entanto, ao transformar vetores de caracteres em fatores, o R trata esses dados de forma mais inteligente, atribuindo níveis e otimizando operações como ordenação e classificação.
Tipos de Fatores: Nominais e Ordinais
Antes de criar fatores no R, é importante entender as duas principais categorias:
Fatores Nominais
- Definição: variáveis categóricas sem ordem natural entre os níveis.
- Exemplo: Gênero (masculino, feminino). Aqui, as categorias são distintas, mas nenhuma é superior ou inferior à outra.
Fatores Ordinais
- Definição: variáveis categóricas que possuem uma ordem lógica ou hierárquica entre os níveis.
- Exemplo: Avaliação de atendimento (ruim < médio < bom). Neste caso, as categorias possuem um ranking.
Como Criar Fatores Nominais no R com a Função factor()
O primeiro passo é definir um vetor que contenha os dados categóricos. Por exemplo com os gêneros de cinco pessoas:
generos <- c("Masculino", "Feminino", "Feminino", "Masculino", "Feminino")Para transformar esse vetor de caracteres em um fator nominal, usa-se a função factor():
generos_fator <- factor(generos)Ao exibir o conteúdo do fator, o R automaticamente detecta os níveis (levels) presentes no vetor e exibe:

Perceba que a ordem dos níveis é alfabética. Embora o vetor original comece com “Masculino”, o R coloca “Feminino” primeiro porque, por padrão, os níveis são organizados em ordem alfabética.
Resumo Estatístico do Fator em R
Ao aplicar a função summary() sobre o fator, obtemos um resumo quantitativo dele:
summary(generos_fator)
Ou seja, três pessoas se identificam como “Feminino” e duas como “Masculino”.
Como Criar Fatores Ordinais no R
Agora, vamos trabalhar com um exemplo clássico de fator ordinal, onde existe uma hierarquia entre as categorias.
Suponha que cinco clientes avaliaram um atendimento com bom, ruim ou médio. Vamos criar um vetor com essa avaliação.
avaliacao <- c("bom", "ruim", "médio", "médio", "bom")Em seguida, utilizaremos a função factor() com o argumento ordered = TRUE, para que o R entenda que existe uma ordenação:
avaliacao_fator <- factor(avaliacao, ordered = TRUE)Feito isso, podemos visualizar nossos fatores ordinais:

Por padrão, os níveis também são organizados alfabeticamente. Contudo, essa ordenação não corresponde à avaliação correta, pois a ordem desejada seria: Ruim < Médio < Bom.
Para definir a ordem correta dos níveis, devemos utilizar o argumento levels:
avaliacao_fator <- factor(avaliacao, ordered = TRUE, levels = c("ruim", "médio", "bom"))Agora, o fator apresenta a ordem coerente:

Assim como fizemos antes, podemos utilizar a função summary() para obter um resumo quantitativo desse fator ordinal:
summary(avaliacao_fator)
Desafio Prático Aula 6: Analisando Avaliações de Clientes
Para fixar os conceitos e usos de fatores em R, vamos partir para o desafio prático da aula:
Exercício: A equipe de atendimento de uma empresa coletou 100 avaliações de clientes sobre a experiência com os serviços oferecidos. As respostas possíveis eram: Péssimo, Ruim, Regular, Bom, Excelente.
As avaliações foram registradas no vetor avaliacoes_clientes, já criado para você:
set.seed(42)
avaliacoes_clientes <- sample(
c("péssimo", "ruim", "regular", "bom", "excelente"),
size = 100,
replace = TRUE
)Seu desafio é:
- Transformar o vetor avaliacoes_clientes em um fator ordinal, com a seguinte ordem de níveis: “péssimo” < “ruim” < “regular” < “bom” < “excelente”
- Gerar um resumo com a quantidade de respostas por categoria.
- Descobrir qual foi o nível de satisfação mais comum.
Solução do desafio:
avaliacoes_clientes_fator <- factor(
avaliacoes_clientes,
ordered = TRUE,
levels = c("péssimo", "ruim", "regular", "bom", "excelente")
)
avaliacao_resumo <- summary(avaliacoes_clientes_fator)
avaliacao_mais_comum <- names(which.max(avaliacao_resumo))
cat("A avaliação mais comum foi", avaliacao_mais_comum)Aqui, primeiro, usamos a função factor() para criar o fator, especificando ordered = TRUE e os levels na ordem correta. Isso permite que o R reconheça a hierarquia entre as categorias.
Depois, com summary(), geramos um resumo com a quantidade de ocorrências de cada categoria. A função which.max() identifica qual categoria possui o maior número de respostas, e names() extrai o nome dessa categoria.
Por fim, com cat() exibimos a categoria mais frequente de forma clara no console.

Aula 7: Data Frames para trabalhar com tabelas
Nesta aula veremos o que são Data Frames e como trabalhar com tabelas em R!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
O R é uma das linguagens mais poderosas para análise de dados e estatística. Entre as suas estruturas fundamentais, o data frame se destaca como a principal ferramenta para armazenar, manipular e analisar conjuntos de dados organizados em tabelas.
O que são Data Frames?
Um data frame é uma estrutura de dados bidimensional, semelhante a uma tabela de banco de dados ou uma planilha Excel, composta por linhas e colunas.
- Linhas: representam observações.
- Colunas: representam variáveis.
A principal vantagem dos data frames sobre outras estruturas, como matrizes, é que cada coluna pode conter um tipo de dado diferente: numérico, caractere ou lógico.
Por exemplo, em um data frame, é possível ter uma coluna com nomes (texto), outra com idades (números) e outra com um status de aprovação (valor lógico: TRUE ou FALSE).
Explorando Data Frames no R
O R já vem com alguns data frames prontos para uso, que servem para praticar e realizar análises. Um dos mais conhecidos é o mtcars, que contém informações sobre o desempenho de 32 modelos de carros.
Para visualizar um data frame no R utilizamos a função View():
View(mtcars)Esta função exibe o data frame em uma aba separada, facilitando a visualização dos dados.

Como vimos anteriormente nesse curso, podemos usar o operador ? para abrir uma página com a descrição a respeito desse data frame, explicando as colunas, a origem dos dados e exemplos de uso.

Principais Funções para Análise de Data Frames
Antes de realizar qualquer análise, é importante entender a estrutura e o conteúdo do data frame. E existem várias funções úteis para isso, vamos ver algumas delas.
1. head()
Exibe as 6 primeiras linhas do data frame.
head(mtcars)
Útil para ter uma visão inicial dos dados, principalmente quando o data frame contém milhares de linhas.
2. tail()
Exibe as 6 últimas linhas.
tail(mtcars)
Permite verificar rapidamente o final do conjunto de dados.
3. str()
Mostra a estrutura do data frame:
- Nome das colunas.
- Tipo de dados de cada coluna.
- Quantidade de observações e variáveis.
str(mtcars)
Por exemplo, o mtcars possui 32 observações e 11 variáveis.
4. names()
Exibe os nomes das colunas.
names(mtcars)
Facilita a identificação das variáveis presentes.
5. summary()
Gera um resumo estatístico para cada coluna:
summary(mtcars)
Fundamental para obter uma visão geral dos dados.
Como Criar um Data Frame no R
Para criar um data frame em R, primeiro são definidos vetores correspondentes às colunas desejadas. Depois, estes vetores são combinados usando a função data.frame().
alunos <- c("Mariana", "Henrique", "João", "Carlos", "Fernanda")
idade <- c(22, 23, 15, 28, 24)
genero <- c("F", "M", "M", "M", "F")
aprovado <- c(TRUE, FALSE, FALSE, TRUE, TRUE)
alunos_df <- data.frame(alunos, idade, genero, aprovado)
View(alunos_df)
Acessando Elementos de um Data Frame
Podemos acessar os elementos de um data frame no R de diversas formas:
Para acessar um elemento específico, passamos o número da linha e da coluna respectivamente:
alunos_df[1, 2]
Para acessar múltiplas linhas de uma vez, podemos usar um vetor ou sequência de índices de linhas. Por exemplo:
alunos_df[4:5, ]
Além de acessar por índices numéricos de linha e coluna, podemos também acessar colunas específicas de um data frame pelo nome da coluna, utilizando o operador $.
alunos_df$aprovado
Filtrando Dados com a Função Subset()
No R, é possível selecionar subconjuntos de dados com base em condições lógicas utilizando a função subset(). Esta função permite extrair apenas as linhas que satisfazem determinados critérios, facilitando a análise de segmentos específicos do conjunto de dados.
Por exemplo, para filtrar todas as linhas do data frame alunos_df em que o valor da coluna aprovado seja igual a TRUE, utilizamos:
subset(alunos_df, aprovado == TRUE)Esse comando retorna um novo data frame contendo apenas os alunos que foram aprovados, de acordo com a condição estabelecida.

A função subset() é uma ferramenta prática para realizar filtragens rápidas e legíveis.
Adicionando e Removendo Colunas
Para adicionar uma nova coluna a um data frame, basta utilizar o operador $ seguido do nome da nova coluna e, em seguida, atribuir a ela o vetor com os valores desejados.
nota <- c(8.8, 4.7, 5.0, 9.0, 9.8)
alunos_df$nota <- nota
Para remover uma coluna de um data frame, basta atribuir o valor NULL a essa coluna. Isso informa ao R que a variável deve ser eliminada do data frame.
alunos_df$nota <- NULL
Boas Práticas ao Adicionar e Remover Colunas
- Verifique sempre se o vetor a ser adicionado possui o mesmo número de elementos que as linhas do data frame.
- Antes de remover uma coluna, tenha certeza de que não precisará mais dela ou que já a salvou em outro local, se necessário.
- Use nomes de colunas descritivos e claros, para manter a legibilidade e organização do seu código.
Desafio Prático Aula 7: Análise de Vendas com Data Frames no R
Vamos aplicar a teoria que vimos nessa aula em mais um desafio prático em R!
Exercício: Você recebeu os dados de vendas da última semana de uma pequena loja:
produto <- c("Camiseta", "Calça", "Tênis", "Boné", "Mochila")
preco <- c(50, 120, 250, 35, 180)
quantidade <- c(20, 10, 5, 15, 7)Seu desafio é:
- Transformar os dados em um data frame.
- Criar uma nova coluna chamada total_vendido, que seja o resultado da coluna preco * quantidade para cada produto.
Descobrir:
- Qual produto gerou mais receita?
- Qual produto teve a maior quantidade vendida?
- Qual foi o total arrecadado pela loja com todos os produtos?
Use as funções que aprendeu na aula!
Solução do desafio:
vendas_df <- data.frame(produto, preco, quantidade)
View(vendas_df)
vendas_df$total_vendido <- vendas_df$preco * vendas_df$quantidade
produto_mais_receita <- vendas_df$produto[which.max(vendas_df$total_vendido)]
cat("Produto com maior receita:", produto_mais_receita, "\n")
produto_mais_vendido <- vendas_df$produto[which.max(vendas_df$quantidade)]
cat("Produto mais vendido:", produto_mais_vendido, "\n")
faturamento_total <- sum(vendas_df$total_vendido)
cat("Faturamento total:", faturamento_total, "\n")Primeiramente, criamos o data frame vendas_df, que reúne as informações previamente armazenadas em três vetores distintos: produto, preco e quantidade. Após a criação, utilizamos a função View() para visualizar o data frame de forma clara.

Com o data frame criado, geramos uma nova coluna chamada total_vendido. Ela corresponde ao faturamento obtido com cada produto, ou seja, o resultado da multiplicação do preço pela quantidade vendida.

Em seguida, buscamos identificar qual produto gerou a maior receita total. Para isso, utilizamos a função which.max(), que retorna a posição do maior valor presente na coluna total_vendido.
Com essa posição, conseguimos acessar diretamente o nome do produto correspondente na coluna produto e armazenar no objeto produto_mais_receita.
O mesmo procedimento foi realizado para identificar o produto mais vendido, desta vez utilizando a coluna quantidade.
Por fim, calculamos o faturamento total da loja, que representa a soma de todas as receitas geradas pelos produtos, utilizando a função sum().
Com todas as respostas obtidas, exibimos os resultados de forma clara no console, por meio da função cat().

Aula 8: Listas, a estrutura versátil
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Na oitava aula do nosso Curso Básico de R veremos como criar, manipular e acessar listas em R.
As listas são fundamentais para quem deseja trabalhar com dados de forma eficiente e organizada. Diferentemente de outras estruturas, como vetores ou data frames, as listas permitem armazenar elementos de diferentes tipos e tamanhos em um único objeto.
O Que São Listas em R?
Em R, listas são estruturas de dados que podem conter elementos heterogêneos, ou seja, de tipos e tamanhos variados. Dentro de uma lista, é possível armazenar:
- Vetores.
- Matrizes.
- Data frames.
- Outras listas.
Essa versatilidade torna as listas essenciais em diversas situações de análise de dados.
Diferença entre Listas e Data Frames
Embora data frames também possam conter variáveis de diferentes tipos, todas as colunas de um data frame devem ter a mesma quantidade de linhas. Já nas listas, os elementos podem ter tamanhos diferentes.
Exemplo prático:
- Em um data frame: todas as colunas precisam ter o mesmo número de observações.
- Em uma lista: é possível armazenar um vetor com 10 elementos, uma matriz 3×3, e um data frame com 10 linhas, tudo junto.
Como Criar uma Lista em R
Criar uma lista em R é um processo simples e direto, basta utilizarmos a função list(), passando para ela os elementos que desejamos listar.
Vamos gerar um vetor, uma matriz e um data frame e, em seguida, criar a nossa lista com esses três objetos.
vetor <- seq(from = 0, to = 100, by = 10)
matriz <- matrix(1:9, nrow = 3, byrow = TRUE)
df <- mtcars[1:10, ]
lista <- list(vetor, matriz, df)Ao exibir, a lista mostrará a estrutura interna, indicando cada elemento e seu conteúdo.

Nomeando os Elementos da Lista
Para facilitar o acesso e interpretação dos elementos, podemos nomeá-los dentro da lista.
lista <- list(vetor = vetor, Matriz = matriz, Data_Frame = df)Agora, ao exibir a lista, os elementos aparecerão com seus respectivos nomes:
- $vetor
- $Matriz
- $Data_Frame

Acessando Elementos da Lista
Existem duas formas principais de acessar os elementos de uma lista:
- Pelo índice (posição do elemento).
- Pelo nome (identificador textual).
Acessando pelo Índice
A lista funciona como uma sequência ordenada de elementos. O primeiro elemento está na posição 1, o segundo na posição 2, e assim por diante.
O acesso pelo índice é feito utilizando dois colchetes: [[ ]].
Por que dois colchetes? Porque:
- Um colchete [ ] retorna uma sub-lista.
- Dois colchetes [[ ]] retornam diretamente o elemento desejado.
Por exemplo, podemos acessar o vetor pelo índice:
lista[[1]]
Acessar um Elemento Específico Dentro do Vetor:
Se quisermos acessar, por exemplo, o quinto valor do vetor, usamos:
lista[[1]][5]Dessa forma, lista[[1]] acessa o vetor e [5] acessa o quinto elemento dentro do vetor.

Esse tipo de encadeamento é muito comum: primeiro acessamos o elemento da lista e depois um item interno dele.
Acessando por Nome
Se a lista foi criada com nomes atribuídos aos elementos (como fizemos), é possível e recomendado acessar diretamente pelo nome, usando o operador $.
Essa forma de acesso é:
- Mais legível.
- Mais intuitiva.
- Menos propensa a erros de confusão entre índices.
Assim como lista[[1]] retorna o vetor, lista$vetor também retornará o vetor completo.
lista$vetor
Acessar um Elemento Específico Dentro do Vetor (usando o nome):
Também podemos acessar o quinto elemento do vetor utilizando o nome que atribuímos ao vetor no momento de criação da lista:
lista$vetor[5]
Observação: O acesso por nome não substitui o por índice, mas geralmente é preferível quando a lista possui nomes bem definidos.
Adicionando Novos Elementos à Lista
Para adicionar um novo elemento à lista, basta utilizar o operador $ seguido do nome do novo elemento e, em seguida, atribuir a ele o valor ou objeto desejado.
lista$Fator <- factor(sample(c("Azul", "Vermelho", "Verde"), size = 15, replace = TRUE))
Removendo Elementos da Lista
Para remover um elemento da lista é simples: basta atribuir NULL ao elemento que deseja eliminar.
lista$Fator <- NULL
Esse método é muito útil para limpar listas ou para ajustar a estrutura conforme as necessidades da análise.
Desafio Prático Aula 8: Criando Lista de Cadastro
Vamos consolidar o que foi aprendido nessa aula com um desafio prático!
Exercício: Vamos praticar a criação e manipulação de listas!
Seu desafio é:
- Criar uma lista chamada minha_lista com os seguintes elementos: Seu nome; Sua idade; Sua cidade.
- Um vetor com 3 linguagens de programação que você conhece.
- Adicionar um novo elemento chamado hobbie com um valor à sua escolha (ex: “Fotografia”).
- Remover o elemento hobbie da lista.
- Exibir a lista final no console.
Solução do desafio:
minha_lista <- list(
nome = "Henrique",
idade = 23,
cidade = "Brasília",
linguagens = c("R", "Python", "SQL")
)
minha_lista$hobbie <- "Futebol"
minha_lista$hobbie <- NULL
print(minha_lista)Primeiro utilizamos a função list() para criar a lista, incluindo os quatro elementos necessários:
- nome: uma string (texto).
- idade: um número inteiro.
- cidade: uma string.
- linguagens: um vetor com três linguagens de programação.
Em seguida, com o operador $ adicionamos o elemento hobbie e atribuímos a ele o valor "Futebol".
Por fim, para remover o elemento hobbie atribuímos NULL ao elemento recém-adicionado.

Aula 9: Estruturas Condicionais em R (if, else e else if)
As estruturas condicionais são fundamentais em qualquer linguagem de programação. Por isso, na nona aula do nosso Curso Básico de R, vamos aprender como utilizar de forma prática e eficiente as estruturas if, else e else if.
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Essas estruturas permitem que o programa tome decisões automaticamente, com base em condições previamente definidas, controlando o fluxo de execução do código.
Nesta aula, você aprenderá não apenas o conceito teórico, mas também como aplicá-las de maneira eficiente em seus scripts.
O que são Estruturas Condicionais?
Estruturas condicionais são blocos de código responsáveis por determinar qual caminho será seguido em um programa, com base no resultado de uma condição lógica.
De forma simples, o programa analisa se determinada expressão é verdadeira ou falsa e, a partir disso, decide executar ou ignorar blocos específicos de código.
No R, as principais estruturas condicionais são:
- if
- else
- else if
Antes de aplicá-las, é essencial compreender os operadores relacionais e lógicos, que servem como base para as comparações e decisões dentro das estruturas condicionais.
Operadores Relacionais em R
Os operadores relacionais são utilizados para comparar valores, retornando sempre um resultado lógico: TRUE ou FALSE.
Principais operadores:
| Operador | Descrição |
| == | Igual |
| != | Diferente |
| > | Maior que |
| < | Menor que |
| >= | Maior ou igual |
| <= | Menor ou igual |
Exemplo prático com duas variáveis:
Vamos aplicar esses operadores utilizando duas variáveis de exemplo: x e y.
x <- 10
y <- 7A partir dessas variáveis, realizamos as seguintes comparações:
1. Verificar se x é igual a y:
x == y2. Verificar se x é diferente de y:
x != y3. Verificar se x é maior que y:
x > y4. Verificar se x é menor que y:
x < y5. Verificar se x é maior ou igual a y:
x >= y6. Verificar se x é menor ou igual a y:
x <= yCada uma dessas expressões retorna um valor lógico TRUE (Verdadeiro) ou FALSE (Falso):

Esses operadores são essenciais, pois formam a base para as condições dentro das estruturas condicionais.
Operadores Lógicos em R
Os operadores lógicos são usados para combinar múltiplas expressões e construir condições mais complexas.
Principais operadores:
| Operador | Símbolo | Descrição |
|---|---|---|
| E lógico | & | Retorna TRUE apenas se ambas as expressões forem verdadeiras. |
| OU lógico | | | Retorna TRUE se pelo menos uma das expressões for verdadeira. Mesmo que a outra seja falsa, o resultado é TRUE. |
| NÃO lógico | ! | Inverte o valor lógico da expressão: TRUE se torna FALSE e vice-versa. |
O operador & exige que todas as condições sejam verdadeiras para retornar TRUE, enquanto | exige apenas uma. Já ! inverte o resultado lógico.
E lógico em R (&): As duas expressões precisam ser verdadeiras
- TRUE & TRUE retorna TRUE
- TRUE & FALSE retorna FALSE
- FALSE & TRUE retorna FALSE
- FALSE & FALSE retorna FALSE
Exemplos:
x > 7 & y < 10
x == 10 & y != 7
x >= 11 & y <= 7
x > 10 & y < 7
OU lógico em R (|): Só uma expressão precisa ser verdadeira.
- TRUE | TRUE retorna TRUE
- TRUE | FALSE retorna TRUE
- FALSE | TRUE retorna TRUE
- FALSE | FALSE retorna FALSE
Exemplos:
x > 7 | y < 10
x == 10 | y != 7
x >= 11 | y <= 7
x > 10 | y < 7
NÃO lógico em R (!): É o contrário da expressão: NÃO TRUE retorna FALSE. NÃO FALSE retorna TRUE.
- !TRUE retorna FALSE
- !FALSE retorna TRUE
Exemplos:
!(x == 10)
!(y == 10)
Como usar o if no R
A estrutura if serve para executar um bloco de código somente quando uma condição é verdadeira. A sintaxe é a seguinte:
if (condição) {
# Código a ser executado se a condição for verdadeira
}Exemplo prático:
Imagine que você deseja verificar se um vendedor atingiu a meta de vendas.
vendas <- 8000
meta <- 7000
if (vendas >= meta) {
print("Você bateu a meta!")
}Neste caso, como vendas é maior que meta, a mensagem será exibida.

Como usar o else no R
O else é utilizado para definir um bloco de código que será executado quando a condição do if for falsa.
vendas <- 5000
meta <- 7000
if (vendas >= meta) {
print("Você bateu a meta!")
} else {
print("Você não bateu a meta.")
}Como vendas é menor que meta, a mensagem “Você não bateu a meta.” será exibida.

Como usar o else if no R
O else if é útil quando existem várias condições possíveis. Ele permite testar novas condições se as anteriores forem falsas.
Vamos definir uma comissão variável conforme as condições:
- Se o vendedor bateu a meta e trouxe 5 clientes novos ou mais → Comissão de 10%.
- Se o vendedor bateu a meta ou trouxe 5 clientes novos ou mais → Comissão de 5%.
- Se não bateu a meta e trouxe menos de 5 clientes novos → Sem comissão.
vendas <- 5000
meta <- 8000
clientes_novos <- 6
if (vendas >= meta & clientes_novos >= 5) {
comissao <- 0.10 * vendas
cat("Incrível! Você bateu a meta e trouxe novos clientes. Comissão: R$", comissao)
} else if (vendas >= meta | clientes_novos >= 5) {
comissao <- 0.05 * vendas
cat("Bom trabalho! Você se destacou em um dos critérios. Comissão: R$", comissao)
} else {
cat("Você não atingiu os critérios para comissão.")
}No exemplo acima, o vendedor não bateu a meta, mas conseguiu 6 clientes novos, dessa forma, ele recebe 5% de comissão.

Boas práticas ao usar Estruturas Condicionais no R
- Sempre use parênteses para delimitar a condição no if.
- Coloque o código a ser executado dentro de chaves {} para garantir clareza e evitar erros.
- Use operadores relacionais e lógicos de forma consciente para evitar resultados inesperados.
- Quando há múltiplas condições, opte pelo uso de else if para evitar estruturas confusas ou aninhadas em excesso.
Desafio Prático Aula 9: Verificar Acesso por Idade
Vamos aplicar tudo o que foi visto nessa aula com um desafio prático envolvendo estruturas condicionais no R.
Exercício: Você trabalha numa plataforma de streaming e precisa criar uma verificação para liberar ou não o acesso de um usuário a um filme com restrição de idade.
Use os seguintes dados:
idade <- 17
tem_autorizacao <- TRUEAs regras são:
- Para assistir ao filme, o usuário deve ter 18 anos ou mais, ou ter uma autorização dos responsáveis.
- Se ele puder assistir, exiba: “Acesso liberado! Boa sessão.”
- Se ele não puder assistir, exiba: “Acesso negado!”
Seu desafio é:
Escrever o código que usa operadores lógicos e estruturas condicionais para decidir se o acesso será liberado ou não.
Solução:
if (idade >= 18 | tem_autorizacao == TRUE) {
print("Acesso liberado! Boa sessão.")
} else {
print("Acesso negado!")
}Nesse desafio, para que o acesso seja liberado basta verificarmos se a variável idade é maior ou igual a 18 OU se a variável tem_autorizacao é igual a TRUE. Se uma das duas condições for verdadeira, podemos liberar o acesso, caso contrário (else) o acesso será negado.

Conclusão do Curso Básico de R
Ao longo do Curso Básico de R, exploramos desde os conceitos mais fundamentais da linguagem, como variáveis, operadores, vetores e funções, até estruturas de dados mais complexas, como listas e data frames.
A partir da Aula 2, cada aula termina com um desafio prático resolvido passo a passo, que consolida os conhecimentos adquiridos. Essa prática é fundamental, pois demonstra como o R pode ser uma ferramenta poderosa e eficiente para resolver problemas reais, organizar informações e gerar insights a partir de dados.
Agora, você já possui uma base sólida para desenvolver suas primeiras análises e projetos em R!
Perguntas frequentes
1. Qual a diferença entre R e RStudio?
O R é a linguagem de programação, que interpreta e executa o código. O RStudio é o ambiente de desenvolvimento (IDE) da Posit, que reúne script, console, gráficos e pacotes numa só janela, e só funciona com o R já instalado no computador.
2. Dá para aprender R sem saber programar?
Sim. O curso parte do zero, da instalação ao primeiro comando no console, e avança um conceito por aula até as estruturas condicionais, com um desafio prático resolvido no fim de cada aula a partir da segunda.
3. Como criar uma variável no R?
Use o operador de atribuição no formato nome_variavel <- valor, como em salario <- 2500. O sinal = também funciona, mas <- é a convenção da linguagem, e no RStudio o atalho Alt + - insere o operador de uma vez.
4. O que estudar depois do básico de R?
O próximo passo natural é a visualização de dados com o pacote ggplot2 e a manipulação de tabelas com o dplyr, os dois do tidyverse. Ambos partem do data frame, a estrutura vista na Aula 7.
Hashtag Treinamentos
Para acessar outras publicações de R, clique aqui!
Posts mais recentes de R
- Curso Básico de R: Comece a Programar e Analisar Dados com R!Crie seus primeiros projetos com o nosso Curso Básico de R! Aprenda de forma fácil, gratuita e domine essa linguagem essencial para análise e ciência de dados.
- Como Começar no R: Guia Completo com Projeto Prático para IniciantesAprenda como começar no R do zero com um projeto prático de análise de dados. Um tutorial passo a passo para iniciantes, com teoria e aplicação real.
- Como Instalar o R e RStudio – Passo a PassoAprenda a instalar o R e RStudio corretamente para tornar suas análises de dados mais eficientes e completas!
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.







