Este capítulo abrangente, “Introdução ao R: Construindo Fundamentos em Programação e Visualização de Dados”, oferece uma jornada completa através dos principais aspectos da linguagem de programação R. Iniciando com a contextualização histórica e evolutiva do software R, os participantes explorarão conceitos fundamentais e sua importância na análise de dados.
A programação básica em R é abordada de maneira acessível, incluindo operações matemáticas, declaração de variáveis, manipulação de vetores e criação de data frames. Os participantes aprenderão a imprimir informações formatadas no console e a construir tabelas e data frames de maneira eficiente.
No módulo sobre estruturas de controle em R, são apresentadas técnicas avançadas, como o uso de funções, loops e estruturas condicionais (if() else()). A manipulação habilidosa de DataFrames, um componente crucial na análise de dados, é explorada em detalhes, oferecendo uma compreensão profunda da organização e extração de informações.
A ênfase na visualização de dados com ggplot2 constitui uma parte significativa do capítulo. Os participantes aprenderão a criar uma variedade de gráficos, incluindo dispersão, linhas, barras, histograma, setores e caixa. A introdução ao pacote ggplot2 proporcionará uma compreensão aprofundada das visualizações personalizadas e avançadas, com uma incursão no desenvolvimento de gráficos interativos utilizando o pacote plotly.
O capítulo é concluído com uma série de 70 exercícios práticos, permitindo que os participantes apliquem os conhecimentos adquiridos. Destinado a estudantes, profissionais e entusiastas, este capítulo equipa os participantes com habilidades práticas em programação R, análise de dados e criação de visualizações impactantes. Ao término, os participantes estarão preparados para explorar as possibilidades abrangentes oferecidas pela linguagem R no domínio da ciência de dados e análise estatística.
A história do software R remonta a uma necessidade crescente por ferramentas estatísticas poderosas, tanto na pesquisa acadêmica quanto na indústria. A busca por uma linguagem estatística livre e eficiente levou ao desenvolvimento do R, cujas raízes podem ser rastreadas até o S, uma linguagem de programação e ambiente de análise estatística criado nos Laboratórios Bell nos anos 70.
O projeto GNU, liderado por Richard Stallman, desempenhou um papel crucial ao promover a liberdade de software. O R começou a ganhar forma nas mãos de Ross Ihaka e Robert Gentleman na Universidade de Auckland, Nova Zelândia, no início dos anos 90. Em 1995, o R foi lançado publicamente, marcando o início de sua jornada como uma linguagem de programação de código aberto acessível a todos.
Desde então, o R evoluiu constantemente, impulsionado pela colaboração da comunidade global de usuários e desenvolvedores. Sua popularidade crescente reflete sua posição como uma ferramenta padrão na estatística, ciência de dados e pesquisa. O R não é apenas uma linguagem de programação, mas também uma comunidade engajada, demonstrando o poder da colaboração e da filosofia do código aberto na construção de ferramentas inovadoras para análise de dados.
O software R, concebido como uma linguagem estatística e ambiente de análise de dados, oferece uma robusta variedade de ferramentas para realizar operações matemáticas básicas. Essa capacidade fundamental permite aos usuários manipular e analisar dados de forma eficiente, desempenhando um papel crucial em diversas aplicações, desde análises estatísticas simples até modelagem estatística avançada.
No contexto do R, as operações matemáticas básicas são executadas de maneira intuitiva, proporcionando uma experiência acessível a usuários de diferentes níveis de familiaridade com a programação. Vamos explorar as operações mais fundamentais:
Adição (+): A operação de adição no R é utilizada
para somar dois valores. Por exemplo, ao executar 3 + 5, o
R retornará o resultado 8.
3+5
## [1] 8
Subtração (-): A subtração, representada pelo
operador “-”, permite a obtenção da diferença entre dois valores. Se
digitarmos 10 - 4, o R nos dará o resultado 6.
10-4
## [1] 6
Multiplicação (*): Para realizar a multiplicação de
dois números, usamos o operador “*“. Ao digitar 2 * 6, o R
nos fornecerá o produto, que é 12.
2*6
## [1] 12
Divisão (/): A operação de divisão, indicada pelo
operador “/”, permite dividir um número pelo outro. Se executarmos
15 / 3, o R retornará o quociente 5.
15/3
## [1] 5
Essas operações são aplicáveis não apenas a números isolados, mas
também a variáveis que contenham valores numéricos. Por exemplo, se
tivermos uma variável a com valor 7 e outra variável
b com valor 3, podemos realizar operações como
a + b, a - b, a * b e
a / b para obter os resultados desejados.
a = 7
b = 3
a+b
## [1] 10
a-b
## [1] 4
a*b
## [1] 21
a/b
## [1] 2.333333
Essa capacidade de realizar operações matemáticas básicas no R é fundamental para a manipulação eficaz de dados e a construção de algoritmos estatísticos mais complexos. Ao compreender e dominar esses conceitos, os usuários podem explorar todo o potencial do R como uma ferramenta versátil para análise estatística e científica.
No universo da programação, a declaração de variáveis é um conceito fundamental, e no software R, isso desempenha um papel essencial para manipular dados de maneira eficiente. Vamos explorar como declarar variáveis e atribuir valores a elas nesta linguagem estatística.
Em R, declarar uma variável é uma tarefa simples. Podemos atribuir um
valor a uma variável utilizando a sintaxe básica de <-
ou =. Por exemplo:
# Usando a sintaxe <-
idade <- 25
idade
## [1] 25
# Ou usando a sintaxe =
nome = "João"
nome
## [1] "João"
Ambos os métodos são válidos e amplamente utilizados. A escolha entre
<- e = geralmente depende da preferência
pessoal do programador.
R é uma linguagem de tipagem dinâmica, o que significa que não é necessário especificar explicitamente o tipo de variável ao declará-la. O R automaticamente atribui um tipo de dados à variável com base no valor atribuído.
# Exemplos de variáveis de diferentes tipos
numero <- 42 # Variável numérica
texto <- "Olá, R!" # Variável de texto (string)
logico <- TRUE # Variável lógica (booleana)
numero
## [1] 42
texto
## [1] "Olá, R!"
logico
## [1] TRUE
Podemos atribuir valores a variáveis de diferentes maneiras. Se tivermos múltiplos valores, podemos atribuí-los em uma única linha:
# Atribuição múltipla de valores
a <- 10
b <- 20
c <- 30
a
## [1] 10
b
## [1] 20
c
## [1] 30
Ou podemos atribuir valores diretamente durante a declaração da variável:
# Atribuição durante a declaração
d <- 40
e <- "R é poderoso!"
d
## [1] 40
e
## [1] "R é poderoso!"
Entender a declaração de variáveis no R é fundamental para trabalhar eficientemente com dados. Variáveis servem como recipientes para armazenar informações, e a habilidade de manipulá-las é um dos alicerces para a construção de scripts e análises mais complexas no R.
No ambiente do R, a manipulação eficaz de dados muitas vezes envolve o uso de vetores, uma estrutura fundamental que permite armazenar elementos de maneira ordenada. Vamos explorar como declarar e manipular vetores no R.
A criação de vetores no R pode ser realizada de diversas formas. A
maneira mais comum é utilizando a função c() (concatenar),
que combina elementos em um vetor. Por exemplo:
# Criando um vetor numérico
numeros <- c(1, 2, 3, 4, 5)
numeros
## [1] 1 2 3 4 5
# Criando um vetor de texto
cores <- c("vermelho", "verde", "azul")
cores
## [1] "vermelho" "verde" "azul"
Outra forma é utilizando a função seq() para gerar
sequências de números automaticamente:
# Criando um vetor de 1 a 10
sequencia <- seq(1, 10)
sequencia
## [1] 1 2 3 4 5 6 7 8 9 10
Uma vez criado um vetor, acessar seus elementos é crucial. No R, os índices dos vetores começam em 1. Por exemplo:
# Acessando o primeiro elemento do vetor
primeiro <- numeros[1]
primeiro
## [1] 1
# Acessando o segundo elemento do vetor
segundo <- numeros[2]
segundo
## [1] 2
Operações aritméticas podem ser aplicadas a vetores de maneira eficiente, elemento por elemento:
# Multiplicação de cada elemento por 2
dobro <- numeros * 2
dobro
## [1] 2 4 6 8 10
Vetores lógicos são frequentemente usados em expressões condicionais. Por exemplo:
# Criando um vetor lógico baseado em uma condição
maior_que_tres <- numeros > 3
maior_que_tres
## [1] FALSE FALSE FALSE TRUE TRUE
A combinação de vetores pode ser feita através da função
c() ou da função append(). Por exemplo:
# Combinação de dois vetores
combinado <- c(numeros, sequencia)
combinado
## [1] 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10
Utilizando a função append() para combinar dois
vetores:
# Criando dois vetores iniciais
vetor1 <- c(1, 2, 3)
vetor2 <- c(4, 5, 6)
# Utilizando a função append() para combinar os dois vetores
vetor_combinado <- append(vetor1, vetor2)
# Exibindo os resultados
print("Vetor 1:")
## [1] "Vetor 1:"
print(vetor1)
## [1] 1 2 3
print("Vetor 2:")
## [1] "Vetor 2:"
print(vetor2)
## [1] 4 5 6
print("Vetor Combinado:")
## [1] "Vetor Combinado:"
print(vetor_combinado)
## [1] 1 2 3 4 5 6
Neste exemplo, temos dois vetores, vetor1 e
vetor2, cada um contendo alguns valores. Utilizamos a
função append() para combinar esses dois vetores em um novo
vetor chamado vetor_combinado. A função
append() aceita os argumentos do vetor de destino (o vetor
ao qual desejamos adicionar elementos) e os elementos a serem
adicionados.
Ao executar esse código, você verá que o vetor combinado agora contém
todos os elementos dos dois vetores originais. Isso ilustra como a
função append() pode ser útil para adicionar elementos a um
vetor existente, criando uma nova versão do vetor com os elementos
adicionados.
Compreender a declaração e manipulação de vetores no R é fundamental para a organização eficiente de dados. Vetores formam a base para estruturas de dados mais complexas e são amplamente utilizados na análise estatística e científica.
No R, a exibição de informações é uma parte essencial do processo de
programação e análise de dados. Vamos explorar como utilizar o comando
print() para exibir informações no console e introduzir o
pacote glue como uma ferramenta poderosa para formatação de
texto.
print()O comando print() é uma função fundamental para exibir
resultados no console do R. Ele é comumente utilizado para imprimir
valores de variáveis, resultados de cálculos ou mensagens informativas.
Vejamos um exemplo simples:
# Utilizando o comando print() para exibir uma mensagem
mensagem <- "Olá, mundo!"
print(mensagem)
## [1] "Olá, mundo!"
# Exibindo o resultado de um cálculo
resultado <- 2 + 3
print(resultado)
## [1] 5
O comando print() é útil para visualizar resultados
imediatos durante o desenvolvimento do código.
sprintf()No R, a função sprintf() pode ser utilizada para
realizar formatação de strings de maneira similar ao que a função
printf() faz em algumas linguagens como C ou Java. Aqui
está um exemplo de como usar sprintf() para obter um
comportamento semelhante:
# Utilizando a função sprintf() para formatar uma string
idade <- 25
altura <- 1.75
# Formatando a string usando sprintf()
mensagem_formatada <- sprintf("A pessoa tem %d anos e altura %.2f metros.",
idade, altura)
# Exibindo a mensagem formatada
cat(mensagem_formatada, "\n")
## A pessoa tem 25 anos e altura 1.75 metros.
Neste exemplo, %d é um marcador de posição para um
número inteiro, e %f é um marcador de posição para um
número de ponto flutuante. Os valores de idade e
altura são fornecidos como argumentos adicionais à função
sprintf(), que substitui os marcadores de posição pelos
valores reais.
A função cat() é usada para imprimir a mensagem no
console. O \n é um caractere de nova linha para garantir
que a próxima saída seja exibida em uma linha separada.
Lembrando que, embora a função sprintf() possa ser usada
dessa maneira, a prática mais comum no R é usar a função
paste() ou paste0() para combinar strings.
Essas funções são mais flexíveis e adequadas para muitas situações.
glue()O pacote glue oferece uma abordagem mais flexível e
legível para a formatação de texto no R. Ele permite incorporar
expressões R dentro de strings, facilitando a criação de mensagens mais
dinâmicas e personalizadas.
# Instalando e carregando o pacote glue (caso ainda não esteja instalado)
# install.packages("glue")
library(glue)
# Utilizando a função glue() para formatar e imprimir texto
nome <- "Alice"
idade <- 30
mensagem_formatada <- glue("A pessoa se chama {nome} e tem {idade} anos.")
print(mensagem_formatada)
## A pessoa se chama Alice e tem 30 anos.
A função glue() permite incluir variáveis diretamente no
texto entre chaves {}, tornando a mensagem mais legível e
fácil de manter.
Ao combinar o uso do print() para mensagens simples e o
glue() para formatação mais complexa, os usuários do R têm
à disposição ferramentas versáteis para comunicar informações de maneira
eficaz durante o desenvolvimento e apresentação de resultados. Essas
habilidades são essenciais ao criar scripts e relatórios claros e
informativos.
No contexto do R, a criação de tabelas é essencial para organizar e visualizar dados de maneira estruturada. Vamos explorar como criar tabelas simples usando esta linguagem estatística.
No R, as tabelas frequentemente começam como matrizes, que são estruturas bidimensionais de dados. Vamos criar uma matriz simples para representar dados tabulares:
# Criando uma matriz simples
dados <- matrix(c(1, 2, 3, 4, 5, 6), ncol = 2)
# Exibindo a matriz
print("Matriz de Dados:")
## [1] "Matriz de Dados:"
print(dados)
## [,1] [,2]
## [1,] 1 4
## [2,] 2 5
## [3,] 3 6
Neste exemplo, a função matrix() é utilizada para criar
uma matriz com dois valores em cada coluna. A opção
ncol = 2 especifica que queremos duas colunas na
matriz.
Para transformar a matriz em uma tabela mais visual, podemos utilizar
a função as.table():
# Convertendo a matriz em tabela
tabela_dados <- as.table(dados)
# Exibindo a tabela
print("Tabela de Dados:")
## [1] "Tabela de Dados:"
print(tabela_dados)
## A B
## A 1 4
## B 2 5
## C 3 6
A função as.table() converte a matriz em um objeto de
tabela, que é mais adequado para exibição e manipulação de dados
tabulares.
data.frame()Outra abordagem comum para criar tabelas no R é usar a função
data.frame(), que permite criar estruturas de dados mais
flexíveis e poderosas:
# Criando um data frame
dados_df <- data.frame(ID = c(1, 2, 3),
Nome = c("Alice", "Bob", "Charlie"),
Idade = c(25, 30, 22))
# Exibindo o data frame
print("Data Frame:")
## [1] "Data Frame:"
print(dados_df)
## ID Nome Idade
## 1 1 Alice 25
## 2 2 Bob 30
## 3 3 Charlie 22
Neste exemplo, criamos um data frame chamado dados_df
com três colunas: “ID”, “Nome” e “Idade”. Cada coluna pode conter
diferentes tipos de dados.
Os data frames são estruturas de dados fundamentais no R, proporcionando flexibilidade e eficácia na manipulação de dados tabulares. Vamos explorar como construir e investigar dados dentro de um data frame.
Construção de um Data Frame:
Para criar um data frame, podemos utilizar a função
data.frame() e fornecer os dados para cada coluna. Vamos
criar um exemplo simples:
# Criando um data frame
dados_df <- data.frame(
Nome = c("Alice", "Bob", "Charlie"),
Idade = c(25, 30, 22),
Nota = c(90, 85, 95)
)
# Exibindo o data frame
print("Data Frame Inicial:")
## [1] "Data Frame Inicial:"
print(dados_df)
## Nome Idade Nota
## 1 Alice 25 90
## 2 Bob 30 85
## 3 Charlie 22 95
Aqui, criamos um data frame chamado dados_df com três
colunas: “Nome”, “Idade” e “Nota”. Cada coluna é representada por um
vetor de dados.
Investigando Dados no Data Frame:
Uma vez criado o data frame, podemos explorar e investigar os dados de várias maneiras:
# Exibindo as primeiras linhas do data frame
print("Primeiras Linhas:")
## [1] "Primeiras Linhas:"
print(head(dados_df))
## Nome Idade Nota
## 1 Alice 25 90
## 2 Bob 30 85
## 3 Charlie 22 95
# Resumo estatístico das variáveis numéricas
print("Resumo Estatístico:")
## [1] "Resumo Estatístico:"
print(summary(dados_df$Idade))
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 22.00 23.50 25.00 25.67 27.50 30.00
print(summary(dados_df$Nota))
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 85.0 87.5 90.0 90.0 92.5 95.0
# Filtrando dados com base em uma condição
print("Alunos com Nota > 90:")
## [1] "Alunos com Nota > 90:"
print(subset(dados_df, Nota > 90))
## Nome Idade Nota
## 3 Charlie 22 95
head(): Exibe as primeiras linhas
do data frame, proporcionando uma visão rápida dos dados.
summary(): Fornece um resumo
estatístico das variáveis numéricas, como média, mínimo, máximo e
quartis.
subset(): Permite filtrar dados com
base em uma condição específica. No exemplo, estamos filtrando alunos
com nota superior a 90.
Adição de Novos Dados:
Podemos adicionar novas colunas ou linhas ao data frame conforme necessário:
# Adicionando uma nova coluna
dados_df$Sexo <- c("F", "M", "M")
# Adicionando uma nova linha
nova_linha <- data.frame(Nome = "Diana", Idade = 28, Nota = 88, Sexo = "F")
dados_df <- rbind(dados_df, nova_linha)
# Exibindo o data frame atualizado
print("Data Frame Atualizado:")
## [1] "Data Frame Atualizado:"
print(dados_df)
## Nome Idade Nota Sexo
## 1 Alice 25 90 F
## 2 Bob 30 85 M
## 3 Charlie 22 95 M
## 4 Diana 28 88 F
A função rbind() é usada para adicionar uma nova linha
ao data frame.
Entender como construir, investigar e manipular dados em um data frame é crucial para análises de dados eficazes no R. Essas habilidades são fundamentais para explorar informações tabulares de maneira flexível e dinâmica.
A criação de tabelas no R é uma habilidade fundamental para analisar e apresentar dados de maneira clara. Seja usando matrizes ou data frames, o R fornece ferramentas poderosas para organizar informações tabulares de forma eficaz.
Na segunda etapa do nosso curso, vamos mergulhar no intrigante universo das funções no R. As funções são blocos de código que executam tarefas específicas, proporcionando um caminho crucial para a modularidade e reutilização eficiente de código. Nesta aula, exploraremos tanto o uso de funções já incorporadas no R quanto a criação de nossas próprias.
As funções no R são como pequenos assistentes que realizam tarefas específicas quando chamados. Elas simplificam o código, tornando-o mais organizado e fácil de entender. Ao utilizar funções, podemos quebrar nosso programa em partes menores, facilitando a manutenção e o entendimento do código.
O R já vem equipado com uma variedade de funções úteis para tarefas comuns. Vamos explorar algumas delas:
# Exemplos de funções integradas
media <- mean(c(2, 4, 6, 8, 10))
soma <- sum(1:5)
comprimento <- length(c("maçã", "banana", "laranja"))
media
## [1] 6
soma
## [1] 15
comprimento
## [1] 3
Aqui, utilizamos as funções mean(), sum() e
length() para calcular a média de um vetor, a soma de uma
sequência numérica e o comprimento de um vetor de palavras,
respectivamente.
Criar nossas próprias funções no R é uma maneira poderosa de encapsular lógica específica para reutilização. Vejamos um exemplo simples:
# Criando uma função de saudação
saudacao <- function(nome) {
mensagem <- paste("Olá, ", nome, "! Como você está?")
return(mensagem)
}
# Chamando a função
print(saudacao("Maria"))
## [1] "Olá, Maria ! Como você está?"
Neste exemplo, a função saudacao() recebe um argumento
nome e retorna uma mensagem personalizada. A função é então
chamada com o argumento “Maria”.
Vamos criar uma função em R que recebe um vetor numérico e retorna a soma, média e mediana desse vetor.
# Função que calcula a soma, média e mediana de um vetor
calcular_estatisticas <- function(vetor) {
# Calcula a soma, média e mediana
soma <- sum(vetor)
media <- mean(vetor)
mediana <- median(vetor)
# Cria um vetor com os resultados
resultados <- c(Soma = soma, Média = media, Mediana = mediana)
return(resultados)
}
# Testando a função
vetor_teste <- c(10, 15, 20, 25, 30)
resultado <- calcular_estatisticas(vetor_teste)
# Exibindo os resultados
print(resultado)
## Soma Média Mediana
## 100 20 20
Nesta função, calcular_estatisticas, começamos
calculando a soma, média e mediana usando as funções sum(),
mean() e median(). Os resultados são
armazenados em um vetor chamado resultados, onde cada
elemento recebe um nome descritivo (Soma, Média, Mediana).
A função retorna o vetor com os resultados. O teste com o vetor de
teste c(10, 15, 20, 25, 30) mostra como utilizar a função e
exibir os resultados.
Entraremos no fascinante mundo dos loops no R. Loops são estruturas
de controle de fluxo que nos permitem executar repetidamente um bloco de
código. Vamos explorar as duas principais estruturas de repetição no R:
o loop for e o loop while.
for:O loop for é amplamente utilizado quando sabemos quantas
vezes queremos repetir uma determinada operação. Sua sintaxe básica é a
seguinte:
# Exemplo de loop for
for (i in 1:5) {
print(paste("Iteração", i))
}
## [1] "Iteração 1"
## [1] "Iteração 2"
## [1] "Iteração 3"
## [1] "Iteração 4"
## [1] "Iteração 5"
Neste exemplo, o loop for percorre os valores de 1 a 5
(inclusive) para a variável i e executa o bloco de código
dentro do loop. A função paste() é usada para criar uma
mensagem combinando a string “Iteração” com o valor de
i.
while:O loop while é útil quando não sabemos antecipadamente
quantas iterações serão necessárias, mas temos uma condição que, quando
satisfeita, continua a execução do loop. Exemplo:
# Exemplo de loop while
contador <- 1
while (contador <= 5) {
print(paste("Iteração", contador))
contador <- contador + 1
}
## [1] "Iteração 1"
## [1] "Iteração 2"
## [1] "Iteração 3"
## [1] "Iteração 4"
## [1] "Iteração 5"
Neste exemplo, o loop while continuará executando
enquanto a condição contador <= 5 for verdadeira. A cada
iteração, a mensagem é impressa, e o contador é incrementado.
Loops são frequentemente usados em conjunto com funções para realizar
tarefas repetitivas. Vamos criar uma função que usa um loop
for para calcular a potência de um número:
# Função para calcular potência usando loop for
calcular_potencia <- function(base, expoente) {
resultado <- 1
for (i in 1:expoente) {
resultado <- resultado * base
}
return(resultado)
}
# Testando a função
print(calcular_potencia(2, 3)) # Deve imprimir 8
## [1] 8
Neste exemplo, a função calcular_potencia utiliza um
loop for para multiplicar a base pelo número de vezes
especificado pelo expoente.
Entraremos no domínio das estruturas condicionais no R,
proporcionando a capacidade de tomar decisões no código. Vamos explorar
a estrutura condicional mais básica: if() else().
if() else():A estrutura condicional if() else() é crucial quando
queremos que o código execute diferentes blocos de instruções com base
em uma condição. Sua sintaxe básica é a seguinte:
# Exemplo de estrutura if() else()
idade <- 18
if (idade >= 18) {
print("Você é maior de idade.")
} else {
print("Você é menor de idade.")
}
## [1] "Você é maior de idade."
Neste exemplo simples, a estrutura if() else() verifica
se a variável idade é maior ou igual a 18. Dependendo do
resultado, uma mensagem específica é impressa.
Estruturas condicionais são frequentemente integradas em funções para criar lógica mais complexa. Vamos criar uma função que verifica se um número é positivo, negativo ou zero:
# Função com estrutura condicional
verificar_numero <- function(numero) {
if (numero > 0) {
return("O número é positivo.")
} else if (numero < 0) {
return("O número é negativo.")
} else {
return("O número é zero.")
}
}
# Testando a função
print(verificar_numero(-5)) # Deve imprimir "O número é negativo."
## [1] "O número é negativo."
Neste exemplo, a função verificar_numero utiliza a
estrutura if() else if() else() para determinar se o número
é positivo, negativo ou zero.
Loops e estruturas condicionais frequentemente trabalham juntos para criar lógica mais avançada. Vamos criar um loop que verifica a paridade dos números de 1 a 5:
# Loop com estrutura condicional
for (i in 1:5) {
if (i %% 2 == 0) {
print(paste(i, "é par."))
} else {
print(paste(i, "é ímpar."))
}
}
## [1] "1 é ímpar."
## [1] "2 é par."
## [1] "3 é ímpar."
## [1] "4 é par."
## [1] "5 é ímpar."
Neste exemplo, o loop for verifica se cada número é par
ou ímpar usando a operação %% (resto da divisão).
Aprofundaremos nossos conhecimentos em manipulação de DataFrames no R. Vamos utilizar funções próprias e comandos de decisão para demonstrar como acessar e manipular dados em DataFrames, explorando operações básicas como seleção de colunas, filtragem de linhas e criação de novas variáveis.
Para acessar colunas específicas em um DataFrame, podemos utilizar o
símbolo $. Vamos criar uma função que recebe um DataFrame e
uma lista de colunas, retornando apenas essas colunas:
# Função para acessar colunas em um DataFrame
acessar_colunas <- function(data_frame, colunas) {
return(data_frame[, colunas, drop = FALSE])
}
# Criando um DataFrame de exemplo
dados <- data.frame(
Nome = c("Alice", "Bob", "Charlie"),
Idade = c(25, 30, 22),
Nota = c(90, 85, 95)
)
# Testando a função
print(acessar_colunas(dados, c("Nome", "Nota")))
## Nome Nota
## 1 Alice 90
## 2 Bob 85
## 3 Charlie 95
Neste exemplo, a função acessar_colunas recebe um
DataFrame e uma lista de colunas, retornando um novo DataFrame contendo
apenas as colunas desejadas.
Vamos criar uma função que filtra as linhas de um DataFrame com base em uma condição:
# Função para filtrar linhas em um DataFrame
filtrar_linhas <- function(data_frame, condicao) {
return(data_frame[condicao, , drop = FALSE])
}
# Testando a função
print(filtrar_linhas(dados, dados$Idade > 25))
## Nome Idade Nota
## 2 Bob 30 85
Neste exemplo, a função filtrar_linhas recebe um
DataFrame e uma condição, retornando um novo DataFrame contendo apenas
as linhas que satisfazem a condição.
Vamos criar uma função que adiciona uma nova coluna a um DataFrame com base em uma operação:
# Função para criar nova variável em um DataFrame
criar_nova_variavel <- function(data_frame) {
data_frame$Resultado <- ifelse(data_frame$Nota >= 90, "Aprovado", "Reprovado")
return(data_frame)
}
# Testando a função
print(criar_nova_variavel(dados))
## Nome Idade Nota Resultado
## 1 Alice 25 90 Aprovado
## 2 Bob 30 85 Reprovado
## 3 Charlie 22 95 Aprovado
Neste exemplo, a função criar_nova_variavel adiciona uma
nova coluna chamada “Resultado” ao DataFrame com base em uma condição de
nota.
A visualização de dados é uma ferramenta poderosa para explorar padrões, identificar tendências e comunicar insights. A representação visual torna a informação mais acessível e compreensível, permitindo uma análise mais rápida e eficaz.
Facilita a Compreensão:
Identificação de Padrões:
Tomada de Decisões Informada:
Comunicação Eficaz:
O pacote básico do R, ou seja, o que vem de padrão em sua instalação já traz uma ferramente gráfica muito útil e que apresentaremos a seguir.
O gráfico de dispersão é uma ferramenta valiosa na visualização de dados, especialmente quando queremos explorar a relação entre duas variáveis. Ele é eficaz para identificar padrões, tendências, e verificar se existe uma correlação entre os conjuntos de dados. Vamos explorar a importância desse tipo de gráfico e criar exemplos no R.
Importância do Gráfico de Dispersão:
Exemplo 1 - Gráfico de Dispersão Simples:
# Criando dados de exemplo
x <- c(1, 2, 3, 4, 5)
y <- c(3, 5, 7, 8, 10)
# Criando o gráfico de dispersão simples
plot(x, y,)
Neste exemplo simples, criamos um gráfico de dispersão usando os
vetores x e y. Os parâmetros
main, xlab, ylab,
pch, e col são utilizados para adicionar um
título, rótulos nos eixos, alterar o símbolo dos pontos e definir a
cor.
Exemplo 2 - Personalizando Cores e Rótulos:
# Criando dados de exemplo
x <- c(1, 2, 3, 4, 5)
y <- c(3, 5, 7, 8, 10)
# Criando o gráfico de dispersão personalizado
plot(x, y, main="Gráfico de Dispersão Personalizado",
xlab="Variável X", ylab="Variável Y", pch=8, col="green")
Neste exemplo, personalizamos ainda mais o gráfico, alterando a cor dos pontos para verde e adicionando um título principal, subtítulo, além de definir cores diferentes para o título e o subtítulo.
O gráfico de linhas é uma ferramenta fundamental para representar a variação de uma variável ao longo do tempo ou de uma sequência ordenada. Ele é amplamente utilizado em diversas áreas, desde finanças até ciências naturais (séries temporais). Vamos explorar a importância desse tipo de gráfico e criar exemplos no R.
Importância do Gráfico de Linhas:
Exemplo 1 - Gráfico de Linhas Simples:
# Criando dados de exemplo
tempo <- 1:10
dados <- c(3, 5, 8, 12, 9, 15, 18, 22, 20, 25)
# Criando o gráfico de linhas simples
plot(tempo, dados, type="l", col="red", lwd=2,
main="Gráfico de Linhas Simples", xlab="Tempo", ylab="Dados")
Neste exemplo, utilizamos a função plot() com o
parâmetro type="l" para criar um gráfico de linhas. Os
parâmetros col e lwd são utilizados para
definir a cor da linha e a largura da linha, respectivamente.
Exemplo 2 - Personalizando Cores e Adicionando Rótulos:
# Criando dados de exemplo
tempo <- 1:10
dados <- c(3, 5, 8, 12, 9, 15, 18, 22, 20, 25)
# Criando o gráfico de linhas personalizado
plot(tempo, dados, type="l", col="blue", lwd=2,)
# Adicionando título e rótulos personalizados
title(main="Variação ao Longo do Tempo",
sub="Dados de Exemplo", col.main="green", col.sub="purple")
Neste exemplo, personalizamos o gráfico de linhas, alterando a cor da linha para azul, a largura da linha para 2 e adicionando um título principal, subtítulo, além de definir cores diferentes para o título e o subtítulo.
O gráfico de barras é uma das formas mais comuns de representar dados categóricos. Ele é eficaz na comparação de quantidades entre diferentes categorias. Vamos explorar a importância desse tipo de gráfico e criar exemplos no R.
Importância do Gráfico de Barras/Colunas:
Exemplo 1 - Gráfico de Barras Simples:
# Criando dados de exemplo
categorias <- c("A", "B", "C", "D", "E")
quantidades <- c(15, 22, 30, 18, 25)
# Criando o gráfico de barras simples
barplot(quantidades, names.arg=categorias, col="orange",
main="Gráfico de Barras Simples", xlab="Categorias",
ylab="Quantidades")
Neste exemplo, utilizamos a função barplot() para criar
um gráfico de barras simples. Os parâmetros names.arg são
utilizados para definir os rótulos das categorias, e col
define a cor das barras.
Exemplo 2 - Personalizando Cores e Adicionando Rótulos:
# Criando dados de exemplo
categorias <- c("A", "B", "C", "D", "E")
quantidades <- c(15, 22, 30, 18, 25)
# Criando o gráfico de barras personalizado
barplot(quantidades, names.arg=categorias,
col=c("blue", "green", "red", "purple","yellow"),
xlab="Categorias", ylab="Quantidades")
# Adicionando título e rótulos personalizados
title(main="Distribuição de Quantidades", sub="Dados de Exemplo",
col.main="brown", col.sub="darkblue")
Neste exemplo, personalizamos o gráfico de barras, alterando as cores das barras para diferentes categorias e adicionando um título principal, subtítulo, além de definir cores diferentes para o título e o subtítulo.
O gráfico de histograma é amplamente utilizado para representar a distribuição de uma variável contínua. Ele é valioso para entender a forma da distribuição, identificar padrões e visualizar a concentração de dados em diferentes intervalos. Vamos explorar a importância desse tipo de gráfico e criar exemplos no R.
Importância do Gráfico de Histograma:
Exemplo 1 - Histograma Simples:
# Criando dados de exemplo
dados <- c(10, 35, 20, 35, 30, 35, 30, 35, 30, 55, 60, 45, 60)
# Criando o histograma simples
hist(dados, col="skyblue", main="Histograma Simples",
xlab="Intervalos",
ylab="Frequência")
Neste exemplo, utilizamos a função hist() para criar um
histograma simples. O parâmetro col define a cor das
barras.
Exemplo 2 - Personalizando Cores e Adicionando Rótulos:
# Criando dados de exemplo
dados <- c(10, 35, 20, 35, 30, 35, 30, 35, 30, 55, 60, 45, 60)
# Criando o histograma personalizado
hist(dados, col="salmon", main=" ", xlab="Intervalos",
ylab="Frequência")
# Adicionando título e rótulos personalizados
title(main="Distribuição dos Dados", sub="Dados de Exemplo",
col.main="darkgreen", col.sub="purple")
Neste exemplo, personalizamos o histograma, alterando a cor das barras e adicionando um título principal, subtítulo, além de definir cores diferentes para o título e o subtítulo.
O gráfico de setores, também conhecido como gráfico de pizza, é uma forma eficaz de representar proporções em um todo. Ele destaca a participação de cada categoria em relação ao total. Vamos explorar a importância desse tipo de gráfico e criar exemplos no R.
Importância do Gráfico de Setores:
Exemplo 1 - Gráfico de Setores Simples:
# Criando dados de exemplo
proporcoes <- c(0.3, 0.2, 0.15, 0.1, 0.25)
categorias <- c("A", "B", "C", "D", "E")
# Criando o gráfico de setores simples
pie(proporcoes, labels=categorias,
col=c("red", "green", "blue", "orange","purple"),
main="Gráfico de Setores Simples")
Neste exemplo, utilizamos a função pie() para criar um
gráfico de setores simples. Os parâmetros labels são
utilizados para definir os rótulos das categorias, e col
define as cores das fatias.
Exemplo 2 - Personalizando Cores e Adicionando Rótulos:
# Criando dados de exemplo
proporcoes <- c(0.3, 0.2, 0.15, 0.1, 0.25)
categorias <- c("A", "B", "C", "D", "E")
# Criando o gráfico de setores personalizado
pie(proporcoes, labels=categorias,
col=c("blue", "green", "red", "orange", "purple"),
main=" ")
# Adicionando título e rótulos personalizados
title(main="Distribuição de Proporções", sub="Dados de Exemplo",
col.main="darkblue", col.sub="darkgreen")
Neste exemplo, personalizamos o gráfico de setores, alterando as cores das fatias e adicionando um título principal, subtítulo, além de definir cores diferentes para o título e o subtítulo.
O gráfico de caixa, ou boxplot, é uma ferramenta poderosa para representar a distribuição estatística de um conjunto de dados. Ele fornece informações sobre a mediana, quartis, e identifica a presença de outliers. Vamos explorar a importância desse tipo de gráfico e criar exemplos no R.
Importância do Gráfico de Caixa:
Exemplo 1 - Gráfico de Caixa Simples:
# Criando dados de exemplo
grupo1 <- c(20, 25, 30, 35, 40)
grupo2 <- c(15, 18, 22, 27, 32)
# Criando o gráfico de caixa simples
boxplot(grupo1, grupo2, col=c("skyblue", "salmon"),
names=c("Grupo 1", "Grupo 2"),
main="Gráfico de Caixa Simples", ylab="Valores")
Neste exemplo, utilizamos a função boxplot() para criar
um gráfico de caixa simples com dois grupos. Os parâmetros
col definem as cores dos boxplots e names
atribuem rótulos aos grupos.
Exemplo 2 - Personalizando Cores e Adicionando Rótulos:
# Criando dados de exemplo
grupo1 <- c(20, 25, 30, 35, 40)
grupo2 <- c(15, 18, 22, 27, 32)
# Criando o gráfico de caixa personalizado
boxplot(grupo1, grupo2, col=c("orange", "lightgreen"),
names=c("Grupo A", "Grupo B"), ylab="Valores")
# Adicionando título e rótulos personalizados
title(main="Distribuição Estatística", sub="Dados de Exemplo",
col.main="purple", col.sub="darkblue")
Neste exemplo, personalizamos o gráfico de caixa, alterando as cores dos boxplots e adicionando um título principal, subtítulo, além de definir cores diferentes para o título e o subtítulo.
O pacote ggplot2 é uma ferramenta poderosa e flexível para criar gráficos no ambiente estatístico R. Desenvolvido por Hadley Wickham, o ggplot2 segue a filosofia da “Gramática dos Gráficos” (Grammar of Graphics), proporcionando uma abordagem sistemática para a construção de visualizações complexas de maneira intuitiva e elegante.
Principais Características do ggplot2:
O ggplot2 oferece uma variedade de funcionalidades avançadas para personalizar gráficos e é amplamente utilizado na comunidade de análise de dados para criar visualizações estatísticas poderosas e esteticamente agradáveis. Ao longo do curso, exploraremos diferentes tipos de gráficos utilizando o ggplot2 para proporcionar uma compreensão abrangente das capacidades deste pacote.
Vamos criar um gráfico de dispersão simples utilizando o ggplot2. Neste exemplo, usaremos dados fictícios para representar a relação entre duas variáveis. Após o exemplo, explicarei cada recurso do ggplot2 utilizado.
# Instalação e carregamento do pacote ggplot2
#(caso ainda não esteja instalado)
# install.packages("ggplot2")
library(ggplot2)
# Criando dados de exemplo
dados_dispersao <- data.frame(x = c(2, 4, 6, 8, 10),
y = c(5, 7, 9, 12, 15))
# Criando o gráfico de dispersão com ggplot2
ggplot(dados_dispersao, aes(x = x, y = y)) +
geom_point(color = "blue", size = 3) +
labs(title = "Gráfico de Dispersão com ggplot2",
x = "Variável X",
y = "Variável Y")
Explicação dos Recursos Utilizados:
ggplot(): Esta função inicia a
construção do gráfico e define o conjunto de dados
(dados_dispersao) a ser utilizado.
aes(): Dentro da função
ggplot(), a função aes() (aesthetic) mapeia as
variáveis estéticas, associando as variáveis do conjunto de dados
(x e y) aos eixos do gráfico.
geom_point(): Adiciona uma camada
ao gráfico, representando os pontos de dispersão. O argumento
color define a cor dos pontos, e size
determina o tamanho dos pontos.
labs(): Utilizada para adicionar
rótulos aos eixos (x e y) e um título
(title) ao gráfico.
Interpretação do Gráfico:
No exemplo, o eixo x representa a “Variável X”, o eixo y representa a “Variável Y”. Cada ponto no gráfico representa um par de valores dessas variáveis. A cor dos pontos é definida como azul, e o tamanho é configurado como 3.
Vamos criar um gráfico de linhas simples utilizando o ggplot2. Neste exemplo, utilizaremos dados fictícios para representar a variação de uma variável ao longo do tempo. Após o exemplo, explicarei cada recurso do ggplot2 utilizado.
# Instalação e carregamento do pacote ggplot2
#(caso ainda não esteja instalado)
# install.packages("ggplot2")
library(ggplot2)
# Criando dados de exemplo
dados_linhas <-
data.frame(tempo = 1:10,
valores = c(3, 5, 8, 12, 9, 15, 18, 22, 20, 25))
# Criando o gráfico de linhas com ggplot2
ggplot(dados_linhas, aes(x = tempo, y = valores)) +
geom_line(color = "red", size = 2) +
labs(title = "Gráfico de Linhas com ggplot2",
x = "Tempo",
y = "Valores")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Explicação dos Recursos Utilizados:
ggplot(): Inicia a construção do
gráfico e define o conjunto de dados (dados_linhas) a ser
utilizado.
aes(): Mapeia as variáveis
estéticas, associando as variáveis do conjunto de dados
(tempo e valores) aos eixos do
gráfico.
geom_line(): Adiciona uma camada ao
gráfico, representando as linhas. O argumento color define
a cor das linhas, e size determina a espessura das
linhas.
labs(): Utilizada para adicionar
rótulos aos eixos (x e y) e um título
(title) ao gráfico.
Interpretação do Gráfico:
No exemplo, o eixo x representa o “Tempo”, e o eixo y representa os “Valores”. Cada ponto no gráfico é conectado por uma linha, mostrando a variação dos valores ao longo do tempo. A cor das linhas é definida como vermelha, e a espessura é configurada como 2.
Vamos criar um gráfico de barras simples utilizando o ggplot2. Neste exemplo, usaremos dados fictícios para representar a quantidade de itens em diferentes categorias. Após o exemplo, explicarei cada recurso do ggplot2 utilizado.
# Instalação e carregamento do pacote ggplot2
#(caso ainda não esteja instalado)
# install.packages("ggplot2")
library(ggplot2)
# Criando dados de exemplo
dados_barras <- data.frame(categorias = c("A", "B", "C", "D", "E"),
quantidades = c(15, 22, 30, 18, 25))
# Criando o gráfico de barras com ggplot2
ggplot(dados_barras, aes(x = categorias, y = quantidades,
fill = categorias)) +
geom_bar(stat = "identity", color = "black") +
labs(title = "Gráfico de Barras com ggplot2",
x = "Categorias",
y = "Quantidades") +
theme_minimal()
Explicação dos Recursos Utilizados:
ggplot(): Inicia a construção do
gráfico e define o conjunto de dados (dados_barras) a ser
utilizado.
aes(): Mapeia as variáveis
estéticas, associando as variáveis do conjunto de dados
(categorias e quantidades) aos eixos do
gráfico. O argumento fill define as cores das barras com
base nas categorias.
geom_bar(): Adiciona uma camada ao
gráfico, representando as barras. O argumento
stat = "identity" indica que as alturas das barras são
fornecidas diretamente no conjunto de dados. O argumento
color define a cor das bordas das barras.
labs(): Utilizada para adicionar
rótulos aos eixos (x e y) e um título
(title) ao gráfico.
theme_minimal(): Aplica um tema
minimalista ao gráfico para melhorar a estética.
Interpretação do Gráfico:
No exemplo, o eixo x representa as “Categorias”, e o eixo y representa as “Quantidades”. Cada barra no gráfico representa a quantidade de itens em cada categoria. As cores das barras são definidas com base nas categorias. O gráfico de barras fornece uma representação visual clara das quantidades em diferentes categorias.
Vamos criar um gráfico de histograma simples utilizando o ggplot2. Neste exemplo, utilizaremos dados fictícios para representar a distribuição de uma variável contínua. Após o exemplo, explicarei cada recurso do ggplot2 utilizado.
# Instalação e carregamento do pacote ggplot2
#(caso ainda não esteja instalado)
# install.packages("ggplot2")
library(ggplot2)
# Criando dados de exemplo
dados_histograma <- data.frame(
valores = c(18, 22, 25, 28, 30, 35, 38, 40, 42, 45))
# Criando o gráfico de histograma com ggplot2
ggplot(dados_histograma, aes(x = valores,
fill = cut(valores,
breaks = seq(15, 50,
by = 10)))) +
geom_histogram(binwidth = 5, color = "black",
position = "identity") +
labs(title = "Gráfico de Histograma com ggplot2",
x = "Valores",
y = "Frequência") +
scale_fill_brewer(palette = "Blues") +
theme_minimal()
Explicação dos Recursos Utilizados:
ggplot(): Inicia a construção do
gráfico e define o conjunto de dados (dados_histograma) a
ser utilizado.
aes(): Mapeia as variáveis
estéticas, associando as variáveis do conjunto de dados
(valores) ao eixo x do gráfico. O argumento
fill define a cor das barras com base nas faixas de valores
(cut).
geom_histogram(): Adiciona uma
camada ao gráfico, representando o histograma. O argumento
binwidth define a largura dos intervalos,
color determina a cor das bordas das barras, e
position = "identity" mantém as barras adjacentes.
labs(): Utilizada para adicionar
rótulos aos eixos (x e y) e um título
(title) ao gráfico.
scale_fill_brewer(): Define a
paleta de cores utilizada para preencher as barras do histograma. Neste
exemplo, utilizamos a paleta de cores “Blues”.
theme_minimal(): Aplica um tema
minimalista ao gráfico para melhorar a estética.
Interpretação do Gráfico:
No exemplo, o eixo x representa os “Valores”, e o eixo y representa a “Frequência”. Cada barra no gráfico representa a frequência dos valores em intervalos específicos. A paleta de cores utilizada ajuda a destacar as diferentes faixas de valores no histograma.
Vamos criar um gráfico de setores simples utilizando o ggplot2. Neste exemplo, usaremos dados fictícios para representar proporções em diferentes categorias. Após o exemplo, explicarei cada recurso do ggplot2 utilizado.
# Instalação e carregamento do pacote ggplot2
#(caso ainda não esteja instalado)
# install.packages("ggplot2")
library(ggplot2)
# Criando dados de exemplo
dados_setores <-
data.frame(categorias = c("A", "B", "C", "D", "E"),
proporcoes =
c(0.3, 0.2, 0.15, 0.1, 0.25))
# Criando o gráfico de setores com ggplot2
ggplot(dados_setores, aes(x = "",
y = proporcoes, fill = categorias)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
labs(title = "Gráfico de Setores com ggplot2") +
theme_minimal() +
theme(axis.text = element_blank(), axis.title = element_blank())
Explicação dos Recursos Utilizados:
ggplot(): Inicia a construção do
gráfico e define o conjunto de dados (dados_setores) a ser
utilizado.
aes(): Mapeia as variáveis
estéticas, associando as variáveis do conjunto de dados
(proporcoes e categorias) aos eixos do
gráfico. O eixo x é definido como vazio ("") para criar um
gráfico de setores.
geom_bar(): Adiciona uma camada ao
gráfico, representando os setores. O argumento
stat = "identity" indica que as alturas das barras são
fornecidas diretamente no conjunto de dados. O argumento
width = 1 define a largura das barras como 1.
coord_polar(): Converte o gráfico
em coordenadas polares para criar um gráfico de setores.
labs(): Utilizada para adicionar um
título (title) ao gráfico.
theme_minimal(): Aplica um tema
minimalista ao gráfico para melhorar a estética.
theme(): Remove os textos dos eixos
x e y para criar um gráfico de setores mais limpo.
Interpretação do Gráfico:
No exemplo, o gráfico de setores representa proporções em diferentes categorias. Cada setor representa a proporção da categoria em relação ao total. A utilização de coordenadas polares facilita a construção de um gráfico de setores visualmente atraente e informativo.
Vamos criar um gráfico de caixa simples utilizando o ggplot2. Neste exemplo, usaremos dados fictícios para representar a distribuição estatística de dois grupos. Após o exemplo, explicarei cada recurso do ggplot2 utilizado.
# Instalação e carregamento do pacote ggplot2
#(caso ainda não esteja instalado)
# install.packages("ggplot2")
library(ggplot2)
# Criando dados de exemplo
grupo1 <- c(20, 25, 30, 35, 40)
grupo2 <- c(15, 18, 22, 27, 32)
# Criando o gráfico de caixa com ggplot2
dados_caixa <- data.frame(grupo = factor(rep(1:2, each = 5)),
valores = c(grupo1, grupo2))
ggplot(dados_caixa, aes(x = grupo, y = valores, fill = grupo)) +
geom_boxplot(width = 0.5, outlier.shape = NA) +
labs(title = "Gráfico de Caixa com ggplot2",
x = "Grupo",
y = "Valores") +
scale_fill_brewer(palette = "Set2") +
theme_minimal()
Explicação dos Recursos Utilizados:
ggplot(): Inicia a construção do
gráfico e define o conjunto de dados (dados_caixa) a ser
utilizado.
aes(): Mapeia as variáveis
estéticas, associando as variáveis do conjunto de dados
(grupo e valores) aos eixos do gráfico. O
argumento fill define a cor das caixas com base nos
grupos.
geom_boxplot(): Adiciona uma camada
ao gráfico, representando os boxplots. O argumento width
define a largura das caixas, e outlier.shape = NA remove a
representação gráfica de outliers.
labs(): Utilizada para adicionar
rótulos aos eixos (x e y) e um título
(title) ao gráfico.
scale_fill_brewer(): Define a
paleta de cores utilizada para preencher as caixas dos boxplots. Neste
exemplo, utilizamos a paleta de cores “Set2”.
theme_minimal(): Aplica um tema
minimalista ao gráfico para melhorar a estética.
Interpretação do Gráfico:
No exemplo, o gráfico de caixa representa a distribuição estatística dos valores em dois grupos distintos. Cada caixa do boxplot indica a mediana, quartis e possíveis outliers nos dados. As cores diferenciadas facilitam a comparação entre os grupos.
Aqui concluímos o nosso capítulo. Em seguida, exploraremos conceitos avançados de matemática e estatística, baseando-nos no R para alcançar o êxito em nossa jornada. O R será a nossa principal e fundamental ferramenta para lidar com o grande volume de dados e cálculos necessários neste curso.
Operações Matemáticas:
Calcule a soma de dois números.
Subtraia um número de outro.
Multiplique dois números.
Divida um número por outro.
Declaração de Variáveis:
Declare uma variável chamada idade e atribua um
valor.
Declare uma variável chamada nome e atribua um nome
a ela.
Declare uma variável chamada altura e atribua um
valor de ponto flutuante a ela.
Declaração de Vetores:
Crie um vetor numérico com cinco elementos.
Crie um vetor de caracteres com nomes de cores.
Crie um vetor lógico indicando se os números em outro vetor são pares.
Comandos de Impressão:
Use o print() para exibir uma mensagem
simples.
Use o print() para mostrar o resultado de uma
operação matemática.
Utilize o sprintf() para formatar uma mensagem com
uma variável numérica.
Utilize o glue() para criar uma mensagem com
variáveis de idade e nome.
Criação de Tabelas e Data Frames:
Crie uma matriz com três colunas e quatro linhas.
Converta a matriz em uma tabela usando
as.table().
Crie um data frame com informações de três alunos (nome, idade, nota).
Adicione uma nova coluna ao data frame representando o sexo dos alunos.
Operações Matemáticas e Vetores:
Crie dois vetores numéricos e some-os elemento por elemento.
Multiplique um vetor por um número escalar.
Crie um vetor lógico com base em uma condição em outro vetor.
Comandos de Impressão e Formatação:
Utilize o sprintf() para criar uma mensagem
formatada com variáveis numéricas e de texto.
Use o glue() para criar uma mensagem que inclua
variáveis de um vetor e uma operação matemática.
Manipulação de Data Frames:
Exiba as primeiras três linhas do data frame.
Calcule a média da idade dos alunos no data frame.
Filtrar os alunos que obtiveram uma nota superior a 80.
Adicione uma nova linha ao data frame representando um novo aluno.
Combinando Operações e Estruturas de Dados:
Crie um vetor com números e calcule a média usando uma função do R.
Declare uma variável chamada mensagem_final e
utilize sprintf() ou glue() para criar uma
mensagem final que inclua informações dos vetores e data frame.
Crie uma tabela ou gráfico simples para visualizar algum aspecto dos dados em seu data frame.
Funções no R:
Crie uma função que recebe dois números e retorna a soma.
Crie uma função que recebe uma lista de números e retorna a média.
Implemente uma função que recebe uma string e retorna o número de caracteres.
Desenvolva uma função que verifica se um número é par ou ímpar.
Crie uma função que recebe um vetor de palavras e retorna o número de palavras.
Implemente uma função que calcula o fatorial de um número.
Crie uma função que recebe um vetor e retorna a soma dos elementos pares.
Desenvolva uma função que recebe uma matriz e retorna a média de cada coluna.
Laços no R:
39 Use um loop for para imprimir os números de 1 a
10.
Utilize um loop while para imprimir os quadrados dos
números de 1 a 5.
Crie um loop que itera sobre um vetor e imprime cada elemento.
Implemente um loop que calcula a soma dos números de 1 a 100.
Use um loop para imprimir os números pares de 2 a 20.
Crie um loop que preenche um vetor com os quadrados dos números de 1 a 5.
Utilize um loop para inverter a ordem de um vetor.
Estruturas Condicionais:
Crie uma estrutura if() else() que verifica se um
número é positivo, negativo ou zero.
Implemente uma estrutura condicional para verificar se uma pessoa é maior ou menor de idade.
Desenvolva uma função que utiliza if() else() para
retornar o maior de dois números.
Utilize uma estrutura condicional para classificar a nota de um aluno em A, B, C, D ou F.
Crie uma estrutura if() else() para verificar se um
número é divisível por 3 e/ou por 5.
Manipulação de DataFrames:
Crie um DataFrame com informações de pessoas (nome, idade, altura).
Utilize uma função para acessar apenas a coluna de nomes do DataFrame.
Implemente uma função que filtra as pessoas com idade superior a 30 anos no DataFrame.
Desenvolva uma função que adiciona uma coluna ao DataFrame indicando se a pessoa é alta ou baixa com base na altura.
Use uma estrutura condicional para criar uma nova coluna indicando se a pessoa é adulta ou não no DataFrame.
Crie uma função que retorna a média da idade das pessoas no DataFrame.
Utilize uma função para ordenar o DataFrame pelo nome em ordem alfabética.
Implemente uma função que retorna as pessoas com altura acima da média no DataFrame.
Combinação de Conceitos:
Crie uma função que recebe um número e retorna “Fizz” se divisível por 3, “Buzz” se divisível por 5 e “FizzBuzz” se divisível por ambos. Caso contrário, retorna o próprio número.
Desenvolva um loop que itera sobre os elementos de um vetor e utiliza uma estrutura condicional para chamar uma função diferente para cada elemento (por exemplo, soma, média, verificar se é par, etc.).
Construção de Gráficos com ggplot2
OBS: No final temos dicas para a solução dos exercícios
plotly, crie um gráfico interativo
de sua escolha (dispersão, barras, linhas, etc.) com dados
fictícios.Dicas para solução dos Exercícios 61 a 70
lm() para calcular a linha de tendência
linear.geom_smooth().geom_line() para representar cada série
temporal.geom_bar() e fill para criar
barras empilhadas.binwidth em geom_histogram().plotly ou
rgl, para gráficos 3D.geom_boxplot() e talvez ajuste a escala ou
destaque os outliers.geom_area() para representar a evolução ao
longo do tempo.geom_violin() para visualizar a distribuição da
variável em cada categoria.geom_polygon() para criar o gráfico de
radar.plotly.plot_ly() para criar gráficos
interativos. Explore diferentes tipos de gráficos e
personalizações.