07 maio, 2024
Na primeira aula deste módulo, os alunos serão conduzidos pelos princípios fundamentais da ciência de dados, com foco na utilização da linguagem R para análise e visualização de dados. O conteúdo abrange a exploração de técnicas vitais de pré-processamento, manipulação de conjuntos de dados e estatísticas descritivas. Além disso, os estudantes terão a oportunidade de compreender os conceitos-chave de Data Warehouse, Business Intelligence, Big Data e Data Analytics, fornecendo uma base sólida para sua jornada na ciência de dados. A aula também abordará a instalação e configuração do ambiente de desenvolvimento no R e RStudio, garantindo que os alunos estejam prontos para suas futuras explorações em análise de dados e tomada de decisões baseadas em evidências.
Também serão apresentadas as operações básicas no R, abrangendo desde a atribuição de valores até a manipulação de variáveis e vetores. Visamos fornecer uma compreensão abrangente dos conceitos essenciais e ferramentas fundamentais para quem deseja ingressar no campo da ciência de dados.
Este módulo aborda os fundamentos da ciência de dados e ensina como usar a linguagem R para análise e visualização de dados. Os alunos aprenderão técnicas essenciais de pré-processamento de dados, manipulação de conjuntos de dados, estatísticas descritivas, além de explorar diversas técnicas de visualização de dados e pacotes essenciais para manipulação. O curso combina teoria com prática, fornecendo uma base sólida para aqueles interessados em trabalhar com dados e tomar decisões baseadas em evidências.
Trata-se de uma iniciativa entre pesquisadores do Núcleo de Pesquisa em Ciência de Dados e Otimização (NUPEC) da Universidade Federal do Amazonas por meio do projeto de extensão Ciência de Dados para Todos e a Escola Superior de Estudos Estratégicos da Amazônia (ESEAM) com intuito de difundir, popularizar e formar profissionais com competências na área de ciência de dados.
O profissional responsável pela análise, coleta e interpretação de grandes dados é chamado de cientista de dados, este profissional tem como objetivo extrair insights e embasar a tomada de decisões estratégicas. O objetivo principal da ciência de dados é transformar os dados brutos em conhecimento útil para orientar a tomada de decisões e impulsionar o progresso.
No cenário atual do mercado, a demanda por cientistas de dados está em alta, uma vez que as empresas reconhecem o valor dos dados para impulsionar seus negócios e a necessidade de especialistas capazes de lidar com a complexidade dessas informações, conforme o site O Documento, profissões relacionadas à área têm salários no Brasil entre R$ 11 mil, para cargos de nível júnior, e R$ 36 mil, para cargos de diretor de dados.
Imagine uma enorme biblioteca de informações empresariais, assim como em uma biblioteca, o Data Warehouse reúne dados de diferentes fontes e os organiza de forma cuidadosa. Isso permite que as empresas possam acessar e analisar essas informações para tomar decisões mais inteligentes e embasadas em dados históricos.
Pense em Business Intelligence (BI) como uma espécie de “espião” especializado em coletar e analisar informações sobre o mundo dos negócios. Ele rastreia dados internos e externos da empresa, ajudando a identificar padrões e tendências que podem ser usados para criar estratégias de crescimento, melhorar a eficiência e vencer obstáculos, todo o processo de BI é feito a posteriori, ou seja, depois que as transações/fatos foram realizados.
Imagine que você tem uma montanha de quebra-cabeças, cada peça representando um pedaço de informação. O Big Data é como lidar com uma quantidade imensa dessas peças de quebra-cabeças, tão grande que as ferramentas de gerenciamento de dados tradicionais não são suficientes. O objetivo é unir todas essas peças para obter uma visão completa e valiosa do cenário.
Fazendo uma analogia com a mineração, o Data Mining é como explorar uma mina em busca de conhecimento, usando técnicas avançadas, os profissionais de Data Science escavam os dados para descobrir padrões escondidos e informações valiosas, que ajudam a desvendar oportunidades e insights preciosos, ou seja, no Enquanto no BI usamos informações conhecidas, no Data Mining analisa-se dados sem necessariamente ter conhecimento antecipado de todas as associações e relações.
Imagine que você é um detetive investigando um caso. A Data Analytics ou análise de dados é como examinar todas as pistas e evidências cuidadosamente para chegar a uma conclusão. Os profissionais de Data Science utilizam ferramentas estatísticas e matemáticas para decifrar o que os dados estão revelando, ajudando a tomar decisões mais informadas e orientadas por fatos.
R é uma linguagem de programação estatística de código aberto conhecida por seus eficientes recursos de manipulação, análise e visualização de dados. Com dialeto da linguagem S, foi desenvolvido por John Chambers e outros profissionais na empresa Bell Telephone Laboratories e fazia parte da AT&T Corp, o R oferece uma ampla gama de pacotes e bibliotecas especializadas que permitem aos usuários realizar análises estatísticas complexas e tarefas de modelagem.
O RStudio, por outro lado, é um ambiente de desenvolvimento integrado projetado especificamente para facilitar o trabalho com a linguagem R. Com uma interface de uso simplificado, o RStudio fornece recursos avançados para edição de código, debugs, visualização de dados, compartilhamento de projetos, manipulação e modelagem de dados, tornando as etapas de trabalho em análise de dados mais competentes e confiáveis.
A combinação de R e RStudio fornece aos cientistas de dados uma poderosa ferramenta para manipulação, visualização e modelagem de dados com suporte para criar modelos estatísticos complexos e gerar visualizações interativas.
Sua popularidade na comunidade de Ciência de Dados decorre da sua linguagem poderosa e flexível, adaptabilidade e suporte oferecidos pela comunidade de usuários ativa.
Instalar e configurar de maneira correta o ambiente de desenvolvimento é uma etapa importante para começar a usar a linguagem de programação R.
Nesta etapa, abordaremos os fundamentos da instalação e configuração do R e do RStudio, fornecendo a você uma base sólida para iniciar seus projetos de análise de dados, modelagem estatística e visualização gráfica.
Para a instalação do R acesse o site r-project.org e selecione a opção CRAN (Comprehensive R Archive Network) no menu à esquerda. Procure por Brasil e selecione um servidor. Clique em Download R for macOS se você trabalha no MAC e Download R for Windows se você trabalha no Windows.
Isso irá instalar um arquivo win.exe no seu computador Windows ou um arquivo pkg no Mac. Em ambos os casos, siga os procedimentos padrões de instalação. Após a conclusão da instalação, os usuários do Windows encontrarão dois ícones R na área de trabalho, um para processadores de 32 bits e outro para processadores de 64 bits (escolha o que for adequado para você). Os usuários do Mac verão um ícone R na pasta “Aplicativos”.
Para instalação do Rstudio acesse o site: rstudio.com/products/rstudio/download. Entre no link do instalador compatível com o sistema operacional do seu computador e siga os procedimentos normais de instalação.
O RStudio é uma ferramenta que possui quatro áreas importantes para facilitar o trabalho. O Editor é onde você escreve e edita seus scripts. No Console, você executa comandos e vê os resultados. O Environment mostra informações sobre os objetos que você está usando. Output exibe gráficos e resultados.
Eles seguem essa ordem, mas você pode organizá-los de acordo com sua preferência, acessando o seguinte caminho: Tools > Global Opitions > Pane Layout.
Ainda no caminho Tools > Global Options, você pode personalizar o visual da interface conforme suas preferências na opção Appearance. É possível alterar o tema do editor, escolher estilos de realce de sintaxe e ajustar o tamanho e a fonte do texto. Além disso, você pode customizar as cores da barra de ferramentas, guias e janelas. Essa personalização cria um ambiente de trabalho mais atraente e confortável, tornando sua experiência de programação e análise de dados mais produtiva e agradável.
Além disso, você pode também configurar preferências que se aplicam à experiência geral de uso da ferramenta, clicando na opção General. Isso inclui definir o idioma do RStudio, a exibição de mensagens de aviso e como os arquivos são tratados ao serem abertos ou salvos. Além disso, você pode optar por mostrar ou ocultar dicas de ferramentas e notificações. Essa personalização permite que você ajuste o RStudio de acordo com suas necessidades e preferências, tornando sua experiência de trabalho mais eficiente e personalizada.
Ainda em Global Options, na opção Code, você pode personalizar várias configurações relacionadas ao editor de código. Isso inclui opções como a forma como o código é indentado, a exibição das margens de linha, a cor dos realces de sintaxe e muito mais.
Já na opção Console, você pode configurar diversas preferências referentes à área onde você executa comandos em R e visualizar os resultados. Isso inclui ajustes como a quantidade de comandos que serão armazenados no histórico, a exibição de números de linha no console e a personalização do comportamento do cursor.
Essas opções permitem que você adapte o RStudio ao seu modo de trabalhar, tornando a programação e a análise de dados mais eficientes e agradáveis. É ótimo poder ajustar essas configurações de acordo com nossas preferências para criar um ambiente de trabalho mais personalizado e produtivo.
Para este capítulo, é necessário acompanhar, digitar e verificar os scripts e resultados pelo software R.
Agora, vamos entender o que acontecerá em cada passo:
a <- 4 b <- 2
Neste código, vamos realizar várias operações matemáticas com as variáveis “a” e “b”. Primeiro, atribuímos o valor 4 à variável “a” e o valor 2 à variável “b”.
Agora vamos realizar as seguintes operações:
ad <- a+b;ad
sub <- a-b;sub
div <- a/b;div
mult <- a*b;mult
pot <- a^b;pot
raiz <- sqrt(a);raiz
Nesta etapa, o objetivo é formular e manipular claramente variáveis e vetores no R. Isso envolve entender os requisitos da criação e regras para manipulação.
valor <- 6
Agora, vamos entender o que acontecerá em cada passo:
maior_que_cinco <- valor > 7; maior_que_cinco
É criada uma variável chamada “valor” é atribuído o valor 6 a ela. A variável “maior_que_cinco” é criada para armazenar o resultado da verificação se a variável “valor” é maior que 7. O resultado será “FALSE”.
notas <- c(7, 8, valor, 9, 7);notas
É criado um vetor chamado “notas” contendo os valores 7, 8, 6 (valor da variável “valor”), 9 e 7.
terceiro_elemento <- notas[3]; terceiro_elemento
A variável “terceiro_elemento” é criada para armazenar o terceiro elemento do vetor “notas”, que é o valor 6.
media_notas <- mean(notas); media_notas
É calculada a média das notas no vetor “notas” e armazenada na variável “media_notas”. A média é (7 + 8 + 6 + 9 + 7) / 5 = 7.4.
numeros_ordenados <- sort(notas); numeros_ordenados
O vetor “notas” é ordenado em ordem crescente e o resultado é armazenado na variável “numeros_ordenados”. O vetor “numeros_ordenados” será [6, 7, 7, 8, 9].
notas_dobradas <- notas * 2; notas_dobradas
Todos os elementos do vetor “notas” são multiplicados por 2 e o resultado é armazenado na variável “notas_dobradas”. O vetor “notas_dobradas” será [14, 16, 12, 18, 14].
notas_dobradas <- c(notas_dobradas, 18); notas_dobradas
É adicionado um novo elemento com o valor 18 ao vetor “notas_dobradas”. O vetor “notas_dobradas” agora será [14, 16, 12, 18, 14, 18].
nome <- "João"`
mensagem <- paste(nome, "recebeu", terceiro_elemento,
"na prova do curso de ciência de dados");mensagem
Uma variável chamada “nome” recebe o valor “João”, logo após, é criada a variável “mensagem” para armazenar a concatenação de uma mensagem, usando o valor da variável “nome” (que é “João”) e o valor da variável “terceiro_elemento” (que é 6). A mensagem final será “João recebeu 6 na prova do curso de ciência de dados”.
sum(notas)
Calcula a soma dos valores do vetor “notas” (37).
plot(notas)
Plota um gráfico para visualizar os valores do vetor “notas”.
length(notas)
Calcula o tamanho do vetor “notas” (5).
max(notas)
Encontra o maior valor no vetor “notas” (9).
min(notas)
Encontra o menor valor no vetor “notas” (6).
summary(notas)
Gera um resumo estatístico dos valores presentes no vetor “notas”, incluindo valores mínimo, primeiro quartil, mediana, média, terceiro quartil e máximo.
sequencia_numeros <- seq(1, 10, by = 2)
Cria uma sequência de números começando em 1, terminando em 10 e avançando de 2 em 2: [1, 3, 5, 7, 9].
repetir_zero <- rep(0, 3)
Repete o número 0 três vezes, criando um vetor com três elementos iguais a 0: [0, 0, 0].
numero_arredondado <- round(3.14159, 2)
Arredonda o número 3.14159 para duas casas decimais, resultando em 3.14.
Para inserir um comentário dentro do seu script no R e Rstudio, basta colocar o caractere “#” que tudo após este caractere é ignorado pelo R e considerado como comentário.
Após finalizar uma linha de código, você pode verificar a saída colocando “;” e escrevendo o nome da variável ao final da linha ou () envolvendo toda a linha de código. Por exemplo:
teste <- 3 + 4; teste # ou (teste < 3 + 4)
Nesta aula, os tópicos abordados incluem tipos de variáveis, como “String”, “Numeric”, “Logical”, e “Integer”, que são fundamentais para armazenar diferentes tipos de dados no R. Além disso, são apresentadas as estruturas de dados fundamentais: “Vetores”, “Listas”, “Matrizes” e “Data Frames”, que são essenciais para organizar informações de maneira eficiente. Outro destaque da aula é a introdução ao operador pipe (%>%) do pacote magrittr e sua aplicação para encadear operações de forma concisa. Um novo operador pipe nativo (|>) introduzido na versão 4.1 do R também é mencionado, permitindo o encadeamento direto de funções. A aula encerra com um exercício de criação de um data frame e operações aritméticas, demonstrando o uso do pipe para simplificar tarefas. Na última parte, vamos praticar a aplicação dessas ferramentas ao criar um data frame e realizar operações aritméticas usando o pipe em um exercício prático.
Imagine que você tem uma caixa onde pode escrever qualquer tipo de texto, como seu nome, uma frase, uma palavra ou até mesmo uma lista de itens. Essa caixa é uma variável do tipo “String” no R.
Exemplo no R:
nome <- "João" frase <- "Olá, como você está?"
Uma variável do tipo “Numeric” é utilizada para armazenar valores numéricos, sejam eles inteiros ou decimais (números com casas decimais). Essa variável é como uma calculadora que pode armazenar qualquer número que você desejar. Seja um número inteiro, como sua idade, ou um número decimal, como o valor de um produto, a variável “Numeric”.
Exemplo no R:
idade <- 25 preco_produto <- 39.99
Uma variável do tipo “Logical” é usada para armazenar valores booleanos, ou seja, representa uma condição que é verdadeira (TRUE) ou falsa (FALSE). Pense em um interruptor que pode estar ligado (verdadeiro/TRUE) ou desligado (falso/FALSE). Da mesma forma, a variável “Logical” no R é como esse interruptor, permitindo que você armazene e manipule informações lógicas em seus programas.
Exemplo no R:
tem_chuva <- TRUE eh_maior_idade <- FALSE
Uma variável do tipo “Integer” é utilizada para armazenar valores numéricos inteiros, ou seja, números sem casas decimais. Imagine que você está contando algo, como o número de livros em uma estante. A variável “Integer” no R é como um contador que pode guardar apenas números inteiros, sem considerar frações ou partes menores.
Exemplo no R:
quantidade_livros <- 20 pessoas_na_sala <- 30
As estruturas de dados fundamentais são blocos de construção essenciais na programação, que permitem organizar informações de maneira eficiente e flexível. Imagine que essas estruturas são como peças de Lego que você pode usar para montar diferentes formas e construções. Elas fornecem a base sólida para criar programas poderosos e resolver problemas complexos, abaixo encontraremos as 4 mais usadas.
Vetores são coleções sequenciais de elementos do mesmo tipo, como números, palavras ou valores lógicos.
Por exemplo:
# Vetor numérico numeros <- c(10, 20, 30, 40, 50);numeros
# Vetor de caracteres (texto)
nomes <- c("Ana", "Carlos", "Maria");nomes
# Vetor lógico verdadeiro_falso <- c(TRUE, FALSE, TRUE, TRUE, FALSE);verdadeiro_falso
No primeiro exemplo, estamos criando três vetores diferentes: um vetor numérico chamado “numeros”, um vetor de caracteres (texto) chamado “nomes” e um vetor lógico chamado “verdadeiro_falso”.
Listas são coleções ordenadas de elementos que podem ser de diferentes tipos, permitindo uma combinação versátil de informações. Imagine uma caixa mágica onde você pode guardar objetos diversos, como brinquedos, livros e até mesmo fotos. As listas são como essa caixa, permitindo que você organize e combine diferentes tipos de dados em uma única estrutura.
Exemplo no R:
minha_lista <- list(nome = "João", idade = 25, altura = 1.75,
aprovado = TRUE);minha_lista
lista_com_vetores <- list(numeros = c(1, 2, 3), nomes = c("Ana", "Carlos", "Maria"),
aprovado = c(TRUE, FALSE, TRUE));lista_com_vetores
Matrizes são arranjos bidimensionais de elementos do mesmo tipo, organizados em linhas e colunas. Pense em uma tabela com informações sobre diferentes produtos, onde cada linha representa um produto e cada coluna representa um atributo, como preço e quantidade. As matrizes são como essas tabelas, facilitando a organização e manipulação de dados em formato tabular.
Exemplo no R:
# Matriz numérica minha_matriz <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2, ncol = 3);minha_matriz
# Matriz de caracteres
matriz_caracteres <- matrix(c("a", "b", "c", "d", "e", "f"),
nrow = 2, ncol = 3);matriz_caracteres
Data frames são estruturas de dados semelhantes a matrizes, mas com a capacidade de armazenar diferentes tipos de dados em suas colunas. Os data frames são como um arquivo de informações em que cada coluna pode conter dados diferentes, como nomes, idades e notas. Eles são frequentemente usados para lidar com dados complexos e realizar análises em projetos de ciência de dados e pesquisas.
Exemplos no R:
# Data frame com colunas de diferentes tipos de dados
meu_data_frame <- data.frame(nome=c("Ana","Carlos","Maria"),idade = c(30,25,28),
salario = c(2500,2000,3000));meu_data_frame
# Criando um data frame com informações de alunos
alunos <- data.frame( nome=c("João","Maria","Carlos"),idade=c(20,22,19),
curso = c("Ciência da Computação","Engenharia Civil","Administração"));alunos
O operador pipe %>% é uma ferramenta especial do R, presente no pacote magrittr, permite encadear várias operações de maneira mais concisa e legível. Com o operador pipe, você pode encadear várias operações de forma sequencial, o que significa que você pode realizar diferentes passos em uma linha, como se estivesse seguindo uma sequência lógica de ações.
# Instalando e carregando o pacote "magrittr"
install.packages("magrittr")
library(magrittr)
É como ter uma ferramenta poderosa que faz todo o trabalho pesado para você, permitindo que você se concentre na lógica do problema em vez de se preocupar com a estrutura do código.
Suponha que temos um conjunto de dados chamado “dados_alunos” que responderam recentemente a uma pesquisa com as seguintes colunas: nome, idade e nota (Referente a última prova).
dados_alunos <- data.frame(nome = c("João", "Maria", "Pedro", "Ana", "Mariana"),
idade = c(20, 22, 19, 21, 20),nota = c(7.5, 8.2, 6.8, 9.0, 7.2))
Vamos calcular a raiz quadrada da média das notas usando o operador pipe, geralmente para este cálculo utilizamos a seguinte linha de código:
media <- mean(dados_alunos$nota) raiz_media <- sqrt(media)
Mas com o operador pipe fazemos somente a seguinte linha de código:
dados_alunos$nota %>% mean()%>%sqrt()
Vamos supor que você queira adicionar 3 pontos extras para o aluno que tirou a menor nota da prova, com o pipe fazemos a linha de código a seguir:
dados_alunos$nota %>%min() %>%add(3)
A versão 4.1 do R, lançada em maio de 2021, trouxe algumas novidades para os usuários. Uma das mudanças mais substanciais foi a inclusão de um operador pipe nativo, o “|>”. O novo operador pipe nativo tem função muito parecida com o pipe %>% do pacote magrittr/tidyverse, ele também permite o encadeamento de uma função após a outra sem precisar criar variáveis intermediárias ou utilizar parênteses intermináveis. A utilidade principal do novo pipe é melhorar a leitura do código, assim você pode encadear funções de forma mais legível e eficiente.
Exemplo:
Neste exemplo, iremos criar um vetor de números e aplicar uma série de operações a ele.
# Sem operador pipe “|>” # Criando um vetor de números numeros <- c(1, 2, 3, 4, 5) # Realizando operações sem operador pipe soma <- sum(numeros) raiz_quadrada <- sqrt(soma) resultado_final <- round(raiz_quadrada, 2) # Resultado resultado_final
Agora vamos utilizar o pipe para realizar as mesmas operações feitas anteriormente:
# Com operador pipe “|>” # Criar um vetor de números numeros <- c(1, 2, 3, 4, 5) # Usando o operador de pipe para realizar operações resultado_pipe <- numeros |> # Carregando o vetor de números sum() |> # Somando os números sqrt() |> # Extraindo a raiz quadrada round(2) # Arredondando o resultado em duas casas decimais # Resultado resultado_pipe
Ambos os exemplos realizam as mesmas operações: somar os números, calcular a raiz quadrada da soma e, em seguida, arredondar o resultado para duas casas decimais. A principal diferença está na legibilidade e na forma como as operações são encadeadas. O operador de pipe nativo |> permite encadear as operações de maneira mais direta e legível, tornando o código mais conciso.
Faça um data frame com os seguintes dados:
Cliente: “Julio”, “Allan”, “Osvaldo”, “Thiago”, “Jaime”
Idade: 25, 30, 35, 28, 40
Avaliação de atendimento: 5, 4, 3, 5, 2
Avaliação do produto: 4, 3, 5, 4, 2
Use o pipe para fazer operações aritméticas.
Você pode obter ainda mais facilidade na hora de programar sistematicamente um código no R com a utilização do pipe nativo. Utilize o seguinte atalho em seu teclado:
Nesta aula, vamos explorar três aspectos cruciais para quem trabalha com programação em R: a instalação de pacotes, a importação de bases de dados e a exportação de resultados. Quando se trata da instalação de pacotes, você aprenderá os três métodos mais comuns: CRAN, GITHUB e Pacotes de Arquivos Compactos. O CRAN é uma fonte confiável para pacotes oficiais, enquanto o GitHub é útil para pacotes em desenvolvimento. Os Pacotes de Arquivos Compactos são ideais para arquivos com extensão “.tar.gz” ou “.zip”.
Na seção de importação de bases de dados, exploraremos a importância de entender os diferentes formatos de arquivo e os pacotes essenciais para importá-los. O readr é perfeito para arquivos “.csv” e “.txt”, enquanto o readxl facilita a importação de planilhas do Excel.
Por fim, ao discutir a exportação de bases, descobriremos como a função export do pacote rio pode simplificar a exportação em diversos formatos, como “.csv”, “.txt” e “.xlsx”. Isso é particularmente útil quando você deseja compartilhar seus resultados. Além disso, daremos algumas dicas sobre as opções de importação de bases de dados disponíveis no RStudio.
Em resumo, esta aula oferece uma visão abrangente dos processos essenciais para a manipulação de dados no R, tornando-a uma valiosa fonte de informações para quem atua na análise de dados usando esta linguagem de programação.
A instalação de pacotes no R é um procedimento essencial que permite aos usuários adquirirem recursos adicionais para expandir as funcionalidades da linguagem de programação R. Os pacotes são como “extensões” ou “plugins” que oferecem novas funções e ferramentas para análise de dados, visualização gráfica, modelagem estatística entre outras milhares de opções.
As três principais maneiras de instalar pacotes são, em ordem de frequência: CRAN, GITHUB e Arquivos Compactos**.
Para instalar um pacote via CRAN (Comprehensive R Archive Network), use a função install.packages() seguida do nome do pacote que deve estar entre aspas.
Exemplo:
install.packages("dplyr")
O RStudio irá se conectar ao CRAN e procurar pelo pacote dplyr. Se o pacote estiver disponível, ele será baixado e instalado automaticamente. Após este processo, não será necessário instalar o pacote futuramente, pois você pode carregá-lo em sua sessão do R usando a função library() ou require().
Exemplo:
library(dplyr) ; require(dplyr)
Para instalar um pacote no R diretamente do GitHub, você pode seguir os passos a seguir: Nesta simulação, iremos instalar o pacote tidyverse via GITHUB, a primeira coisa a fazer é instalar o pacote remotes, esse pacote é necessário para que possamos utilizar a função install_github(“tidyverse”) na etapa seguinte.
# Passo 1
install.packages("remotes");library(remotes)
# Passo 2
install_github("tidyverse/tidyverse");library(tidyverse)
É importante ressaltar que nem todos os pacotes estão disponíveis no CRAN do R, então o GitHub pode ser uma ótima opção para instalar pacotes que estão em desenvolvimento ou que ainda não foram disponibilizados oficialmente no R. No entanto, é importante lembrar que pacotes do GitHub podem estar em fase de desenvolvimento e podem conter bugs e instabilidades.
Para instalar pacotes com extensão “.tar.gz” ou “.zip” no R, é necessário seguir os seguintes passos, mas antes de instalar o pacote, você precisa fazer o download do arquivo compactado que, geralmente, são encontrados em sites de repositórios de pacotes ou em páginas de download de pacotes R.
# Exemplo de instalação
install.packages("caminho/do/arquivo/pacote", repos = NULL)
library(pacote)
No script acima, substitua “caminho/do/arquivo” pelo diretório onde você baixou o arquivo compacto. Por exemplo, se o arquivo “pacote” estiver na pasta “Downloads”, você deve fornecer o caminho completo, como “~/Downloads/pacote”.
Importar bases de dados para o R em diferentes formatos é uma das tarefas essenciais para o cientista de dados, logo, saber a diferença entre os formatos desses arquivos e as ferramentas específicas para importar cada um destes se torna uma tarefa fundamental.
Nesta aula, vamos estudar os principais pacotes para importar dados para o R. Vamos visualizar as formas de importar dados de arquivos de texto e planilhas do excel.
Podemos verificar e alterar o diretório de trabalho no RStudio usando os seguinte comandos:
# Para verificar o diretório de trabalho atual:
getwd()
# Para definir o diretório de trabalho para um novo local:
setwd("Caminho/do/seu/diretorio")
Lembre-se de que, ao usar setwd(), você está alterando o local onde o R busca e salva arquivos por padrão. Ao usar a função setwd() você pode encontrar o diretório clicando com o botão direito do mouse, seguido de: Propriedades > Geral.
Ao copiar o diretório, certifique-se de colar dentro da função setwd() com barras inclinadas à direita.
Existem diferentes tipos de arquivos que você pode querer importar para o R, incluindo arquivos “.csv”, “.txt” e “.xlsx/.xls”. Cada tipo de arquivo tem seu próprio método de importação.
O pacote readr é utilizado para importar arquivos de texto, como “.txt” ou “.csv”, para o R. Instale o pacote antes caso você ainda não o tenha instalado. Utilize a seguinte função para instalar:install.packages("readr") e para carregá-lo, insira o código no RStudio:
# Carregando o pacote "readr"
library(readr)
# Importar um arquivo ".csv"
dados_csv <- read_csv2("TABELAS/dados_treino3.csv")
# Importar um arquivo ".txt"
basetext <- read_delim("TABELAS/basetext.txt", delim = "\t",col_names = T)
# Obs: você precisa verificar se seu arquivo é delimitado por " " ou vírgula.
Para ler planilhas do Excel (arquivos “.xlsx” ou “.xls”), basta utilizarmos a função read_excel() do pacote readxl. Instale o pacote antes caso você ainda não o tenha instalado. Utilize a seguinte função para instalar:install.packages("readxl")
# Carregando o pacote "readxl"
library(readxl)
# Importar um arquivo ".xlsx"
dados_xlsx <- read_xlsx("TABELAS/dados_treino1.xlsx")
# Importar um arquivo ".xls" (formato mais antigo)
dados_xls <- read_excel("TABELAS/dados_treino2.xls")
Será demonstrado nessa seção como exportar dados e tabelas gerados dentro do Software R. Quanto a saída de resultados, será dado ênfase a saídas com extensões “.csv”, “.txt” e “.xlsx”.
export() do pacote riohttps://cran.r-project.org/web/packages/rio/index.html pode ser utilizada para exportar objetos do R em arquivos dos mais diversos formatos. Em arquivos “.csv”, os valores são separados por vírgula. No exemplo abaixo, é mostrado como o objeto quantitativo pode ser salvo em um arquivo “.csv” com nome “quanti_exemplo”. Para salvar as saídas em extensão “.txt” ou “.xlsx”, basta substituir a extensão do arquivo.
# Carregando o pacote rio library(rio) # URL do arquivo ".xlsx" url <- "https://github.com/TiagoOlivoto/e-bookr/raw/master/data/data_R.xlsx" # Nome da planilha que desejamos importar planilha <- "QUANTI" # Nome do arquivo local onde iremos salvar o ".xlsx" arquivo_local <- "TABELAS/data_R.xlsx" # Fazendo o download do arquivo ".xlsx" download.file(url, destfile = arquivo_local, mode = "wb") # Importando os dados da planilha dados_quanti <- readxl::read_xlsx(arquivo_local, sheet = planilha) # Visualizar os primeiros registros dos dados head(dados_quanti) # Exportar para o diretório padrão (csv) export(dados_quanti, file = "TABELAS/quanti_exemplo.csv") # Exportar para o diretório padrão (txt) export(dados_quanti, file = "TABELAS/quanti_exemplo.txt") # Exportar para o diretório padrão (xslx) export(dados_quanti, file = "TABELAS/quanti_exemplo.xlsx")
No formato “.xlsx” é possível informar em qual planilha o objeto será salvo. Neste caso, as planilhas existentes não serão modificadas.
export(dados_quanti, file = "TABELAS/quanti_exemplo.xlsx", which = "quanti2")
Também é possível salvar diferentes objetos em diferentes planilhas do mesmo arquivo. Vamos considerar que cada nível do fator “TIPO” do objeto “quanti” deve ser salvo em uma planilha diferente.
# Definindo cada fator
linear <- subset(dados_quanti, TIPO == "LINEAR")
quadratico <- subset(dados_quanti, TIPO == "QUADRÁTICA")
cubico <- subset(dados_quanti, TIPO == "CÚBICA")
# Exportando cada um em uma planilha diferente
export(list(linear = linear,
quadratico = quadratico,
cubico = cubico),
file = "TABELAS/quanti_exemplo_plan.xlsx")
Neste caso, um arquivo chamado “quanti_exemplo_plan.xlsx” contendo as planilhas “linear”, “quadratico” e “cubico” foi criado no diretório padrão. Uma vez que tratamos da importação de dados em formatos mais comuns, chegou a hora de utilizarmos alguns pacotes e funções para exportarmos os dados.
Assim como existem funções nativas no R para o carregamento de arquivos “.csv”, há também funções de mesma natureza para realizarmos a exportação. O exemplo que apresentaremos a seguir é o da função write.table(), similar a função write.csv().
Iremos utilizar a função write.table() devido a sua flexibilidade. Os dados que iremos exportar são dados contidos no pacote dplyr em um tibble chamado “storms”.
Alteraremos o nosso argumento “file” para apontarmos para o local onde desejamos salvar o arquivo bem como o nome do arquivo. Você pode apontar para qualquer local que deseje salvar seus dados em seu computador, mas, uma vez que você esteja trabalhando em um projeto do RStudio o local de salvamento padrão será a pasta do projeto. No nosso caso, iremos salvar o arquivo dentro da pasta de tabelas com o nome de “storms.csv”.
Além disso, definiremos que o decimal será separado por vírgula, que o separador dos dados será “;” e que os valores com NA's serão vazios em nosso arquivo “.csv”.
write.table(dplyr::storms, file = "TABELAS/storms.csv",
dec = ",", sep = ";", na = "")
Feito isso, você pode verificar como ficou o arquivo final. Há outros argumentos interessantes na função usada e que podem ser facilmente consultados através da ajuda da função.
Para exportar arquivos em “.xlsx” usaremos o pacote writexl. No nosso exemplo, vamos criar um data.frame com dados de chuva. O processo é muito simples, bastando informar o objeto a ser exportado (data frame) e local de salvamento do arquivo “.xlsx”.
# Criando o data.frame de chuva
chuva <- data.frame(
Nome = c("Storm1", "Storm2", "Storm3"),
Intensidade = c("Forte", "Moderada", "Forte"),
Pressao = c(1000, 1010, 998))
# Carregando o pacote "writexl"
library(writexl)
# Exportando em formato ".xlsx"
writexl::write_xlsx(chuva, path = "TABELAS/storms2.xlsx")
A função writexl() possui uma particularidade interessante. Você pode exportar mais de um data frame em abas diferentes do arquivo “.xlsx”, para isso, basta colocar os objetos em lista. Para esse exemplo, vamos utilizar “storms” e “chuva”, utilizados acima.
Vamos criar uma lista nomeada com os dois data frames e depois passar essa lista como argumento da nossa função de exportação.
exportacao_xlsx <- list(Quantidade = dados_quanti, Chuva = chuva) writexl::write_xlsx(exportacao_xlsx, "TABELAS/quantidade_chuva.xlsx") # NOTA: Para exportarmos em ".xls" podemos utilizar o pacote WriteXLS.
O R possui seus próprios formatos de dados, no entanto vamos focar no formato em RDS. Você pode salvar um objeto R, como um data frame , utilizando um arquivo RData ou um arquivo RDS. Os arquivos RData podem armazenar vários objetos R de uma só vez, mas os arquivos RDS são a melhor escolha porque promovem código reproduzível. (Tradução livre - Grolemund 2014)
Há algumas vantagens de se utilizar o formato RDS para exportarmos nossos dados, vejamos:
O arquivo RDS possui ocupa pouco espaço, uma vez que o mesmo é comprimido;
Você salva um objeto por arquivo e isso facilita na hora de escolher o que importar;
Você pode carregar o arquivo sem medo de sobrescrever um objeto já existente, uma vez que você vai nomear o objeto que guardará o arquivo carregado.
Para exportarmos em RDS basta utilizarmos a função nativa saveRDS(). Para nosso exemplo, vamos utilizar a lista criada no item anterior.
saveRDS(exportacao_xlsx, file = "TABELAS/dados.RDS")
Nas opções do Rstudio, especificamente em file > Import Dataset, tem 6 tipos de opções de importação de base de dados que você pode estar utilizando, essa opções são bem eficazes caso você não lembre de algum pacote para importação de base de dados.
Nesta aula vamos introduzir o pacote dplyr, uma ferramenta poderosa para manipulação de dados em R. O dplyr oferece um conjunto de funções otimizadas que permitem selecionar, filtrar, ordenar e criar variáveis em conjuntos de dados de forma eficiente. Isso é essencial para cientistas de dados e estatísticos que precisam lidar com grandes volumes de informações. Com o dplyr, você pode selecionar colunas específicas de um conjunto de dados usando a função select(), filtrar linhas com base em condições definidas usando a função filter(), ordenar os dados com a função arrange(), e criar novas variáveis com a função mutate(). Cada função desempenha um papel importante na preparação e análise de dados.
Na seção de exercícios, trabalhamos com um conjunto de dados fictício chamado “dados_vendas”, que continha informações sobre vendas de produtos. Utilizando o dplyr, os exercícios nos permitiram praticar essas operações essenciais de manipulação de dados. Aprendemos a selecionar colunas específicas, filtrar vendas com base em critérios como valor e vendedor, ordenar as vendas de acordo com diferentes critérios e até mesmo criar uma nova coluna para representar o valor total de cada venda. Essas são habilidades fundamentais para analisar e extrair insights de dados no mundo real.
O dplyr é um pacote bastante conhecido pelos estatísticos e cientistas de dados, ele oferece uma precisa e eficiente interface para manipulação de dados fornecendo um conjunto de funções otimizadas para realizar operações de seleção, filtragem, ordenação e criação de variáveis em um conjunto de dados.
Suponha que temos um conjunto de dados com informações sobre pessoas, como nome, idade e salário. Agora, pense em como você pode trabalhar com esses dados de forma mais eficiente e organizada.
library(dplyr)
dados <- data.frame(
nome = c("João", "Maria", "Pedro"),
idade = c(25, 30, 35),
salario = c(3000, 3500, 2800))
Imagine que você possui uma grande lista de informações sobre pessoas, com detalhes como nomes, idades e salários. Às vezes, você precisa trabalhar apenas com algumas dessas informações específicas, sem se preocupar com o restante dos dados. É aí que a função select() entra em cena!
select(dados, nome, salario)
Escolhemos somente as colunas “nome” e “salario”, deixando de lado as demais informações. Isso nos permite visualizar apenas os dados que importam para nossa análise.
select(dados, contains("a"))
A saída nos mostra somente as colunas que contêm a letra “a” em seus títulos. É como se estivéssemos peneirando as colunas, deixando somente as que atendem ao critério.
select(dados, ends_with("e") | ends_with("o"))
Selecionamos apenas as colunas que têm “e” ou “o” no final de seus nomes. É como se estivéssemos escolhendo as colunas que têm um final específico.
Com a função pull(dados, salario), você pega todos os valores da coluna “salario” e armazena em um vetor para fazer cálculos ou análises somente com os salários.
Para extrair um valor específico da coluna, basta acrescentar “[ ]” ao final do código + posição da coluna, por exemplo pull(dados, idade)[2], na qual você pega o valor da segunda posição da coluna “idade” e coloca em um vetor individual. Dessa forma, você tem acesso direto ao valor, sem precisar olhar a tabela inteira.
A função filter() é usada para filtrar as linhas de um conjunto de dados com base em determinadas condições. Ela permite que você selecione apenas as linhas que atendem a critérios específicos. Por exemplo, se você quiser ver somente as pessoas com idade acima de 30 anos, a função filter() vai separar somente essas linhas, deixando de lado as demais.
dados_filtrados <- filter(dados, idade >= 30)
A função slice() é usada para extrair linhas específicas de um conjunto de dados, selecionando-as por número de linha ou usando uma sequência de índices. Essa função é como uma tesoura que corta o conjunto de dados em linhas específicas. É como se você estivesse destacando algumas linhas para analisar separadamente.
linha_3 <- slice(dados, 3)
A função arrange() é como um organizador que permite que você organize as linhas do conjunto de dados de acordo com uma ou mais colunas. Ela permite que você especifique a ordem em que as linhas devem ser dispostas. Por exemplo, se você quiser ver os dados ordenados por salário em ordem crescente, a função arrange vai reorganizar as linhas.
dados_ordenados <- arrange(dados, salario)
A função mutate() é como um criador de variáveis, pois permite que você crie novas colunas ou modifique as existentes com base em cálculos ou fórmulas. Se você quiser adicionar uma coluna com o dobro do salário de cada pessoa, a função mutate vai realizar esse cálculo.
dados_mutados <- mutate(dados, salario_ajustado = salario * 2)
Suponha que temos um conjunto de dados fictício chamado “dados_vendas”, que contém informações sobre vendas realizadas por uma empresa. O conjunto de dados possui as seguintes colunas: “Produto”, “Valor”, “Data”, “Vendedor” e “Quantidade”.
Produto : “Celular”, “TV”, “Notebook”, “Tablet”, “Impressora”
Valor : 1200, 1500, 2000, 800, 300
Data : “2023-07-15”, “2023-07-16”, “2023-07-17”, “2023-07-18”, “2023-07-19”
Vendedor : “Ana”, “João”, “Maria”, “Pedro”, “Paula”
Quantidade : 2, 3, 1, 4, 5
Utilizando o pacote dplyr, resolva as seguintes tarefas:
1. Selecionar apenas as colunas “Produto” e “Valor” do conjunto de dados.
2. Selecionar apenas as colunas “Data” e “Vendedor” do conjunto de dados.
3. Filtrar apenas as vendas com valor maior que 1000.
4. Filtrar apenas as vendas realizadas pelo vendedor “Pedro”.
5. Ordenar as vendas por ordem decrescente de valor.
6. Ordenar as vendas por ordem crescente de data.
7. Criar uma nova coluna “Valor_Total” que representa o valor total de cada venda (valor * quantidade).
Na aula 5, você aprenderá sobre a agregação de dados usando o pacote dplyr. Vamos começar usando as funções group_by() e summarise() do pacote dplyr. Essas ferramentas são fundamentais para resumir grandes conjuntos de dados, permitindo a criação de grupos com base em critérios específicos e o cálculo de estatísticas resumidas para cada grupo. Você também aprenderá sobre junções de tabelas, que envolvem a combinação de informações de diferentes fontes com base em uma chave comum, possibilitando uma visão mais completa dos dados.
No exercício prático, você aplicará esses conceitos a um conjunto de dados fictício de alunos, realizando várias operações, como seleção de colunas, filtragem com base em critérios, cálculos de médias e junções de tabelas, o que o ajudará a adquirir uma compreensão prática dessas técnicas essenciais de manipulação de dados no R.
A agregação de dados é uma técnica essencial para resumir e analisar grandes conjuntos de dados. Nesta aula aprenderemos as técnicas de agregação utilizando group_by() e summarise() do pacote dplyr. Primariamente solicitamos o pacote com o comando library(dplyr).
Ao usar o group_by, você pode agrupar os dados por uma ou mais colunas, ou seja, criar subconjuntos de observações relacionadas, em seguida, aplicar funções de agregação, como média, soma, mínimo, máximo para cada grupo separadamente.
Após a criação dos grupos, a função summarize() pode ser aplicada para calcular estatísticas resumidas para grupos específicos de observações.
Exemplo: Calcular a média e soma de vendas por categoria de produto.
# Criando o data.frame com as informações
dados_vendas <- data.frame(
Categoria = c("Eletrônicos","Tecnologia", "Moda", "Eletrônicos",
"Moda", "Esportes","Tecnologia"),
Vendas = c(1500,700, 2000, 1800, 3000, 1200, 1420))
# Calcular a média e a soma das vendas por categoria
vendas_agregadas <- dados_vendas %>%
group_by(Categoria) %>%
summarize(Media_Vendas = mean(Vendas), Soma_Vendas = sum(Vendas))
vendas_agregadas
Junções de tabelas são usadas em bancos de dados para combinar informações de diferentes tabelas, permitindo que você obtenha uma visão mais completa dos dados ou identifique relações entre os dados em diferentes conjuntos de informações. Cada tipo de junção oferece um resultado específico, e você pode escolher o mais adequado com base no que deseja obter dos dados combinados.
Use como suporte o seguinte data frame:
tabela_categorias <- data.frame(
Categoria = c("Eletrônicos", "Moda", "Esportes", "livro"),
Detalhes = c("Produtos eletrônicos diversos", "Roupas e acessórios",
"Equipamentos esportivos", "Livro diversos"))
Para fazer junção a esquerda, ou seja, retornar todos os registros da tabela à esquerda com informações correspondentes da tabela à direita, usamos a seguinte linha de código:
left_join_exemplo <- left_join(vendas_agregadas, tabela_categorias, by = "Categoria") left_join_exemplo
Para fazer junção onde haja correspondência entre ambas as tabelas, ou seja, retornar todos os registros que tenham correspondência na tabela à esquerda e também na direita usamos a seguinte linha de código:
inner_join_exemplo <- inner_join(vendas_agregadas, tabela_categorias, by = "Categoria") inner_join_exemplo
Para fazer junção a direita, ou seja, retornar todos os registros da tabela à direita com informações correspondentes da tabela à esquerda usamos a seguinte linha de código:
right_join_exemplo <- right_join(vendas_agregadas, tabela_categorias, by = "Categoria") right_join_exemplo
Para fazer junção das duas tabelas seja elas correspondentes ou não, usamos a seguinte linha de código:
full_join_exemplo <- full_join(vendas_agregadas, tabela_categorias, by = "Categoria") full_join_exemplo
Considere um conjunto de dados fictício contendo informações sobre alunos. O conjunto de dados possui as seguintes colunas: “Aluno” (contendo os nomes dos alunos), “Idade” (contendo as idades dos alunos), “Nota_Matematica” (contendo as notas de matemática dos alunos) e “Nota_Portugues” (contendo as notas de português dos alunos).
Abaixo está o script em R para criar o conjunto de dados:
# Informações do data.frame
Aluno = c("João", "Maria", "Pedro", "Ana", "Lucas","Allan")
Idade = c(18, 17, 16, 17, 18, 22)
Nota_Matematica = c(8, 7, 6, 8, 5, 9)
Nota_Portugues = c(7, 8, 6, 7, 9, 8)
# Juntando todas as variávies no data.frame
dados_alunos <- data.frame(
Aluno, Idade, Nota_Matematica, Nota_Portugues)
A partir dos dados acima:
1. Selecione apenas as colunas Aluno, Idade e Nota_Matematica do conjunto de dados.
2. Filtrar os alunos que têm idade maior ou igual a 17 anos.
3. Criar uma nova coluna chamada “Media_Notas” que contém a média entre as notas de Matemática e Português.
4. Calcular a média das notas de Matemática e Português para todos os alunos.
5. Ordenar os alunos pelo nome em ordem alfabética.
6. Filtrar os alunos que têm nota de Matemática maior ou igual a 7.
7. Criar um novo conjunto de dados apenas com os alunos que têm nota de Português maior ou igual a 8.
8. Calcular a média da idade dos alunos que tiraram nota de Matemática maior ou igual a 7 e nota de Português maior ou igual a 8.
9. Criar um novo conjunto de dados apenas com os alunos que têm idade menor que 18 e nota de Matemática menor que 7.
10. Calcular a média da idade dos alunos que tiraram nota de Matemática menor que 7.
11. Crie uma coluna nos dados originais com as seguintes informações: Nota_Fisica é 1.1 vezes maior que a de matemática para todos os alunos.
12. Faça uma junção de tabelas usando a coluna “Aluno” como chave, ou seja retornar todos os registros da tabela à esquerda com informações correspondentes da tabela à direita, com os seguintes dados: Cidade = c(“São Paulo”, “Rio de Janeiro”, “Belo Horizonte”, “São Paulo”, “Curitiba”, “Manaus”)).
Como conclusão do Módulo 1, na última aula você explorará o pacote tidyr, uma parte essencial do tidyverse do R. Este pacote é fundamental para a manipulação e organização eficiente de dados, seguindo os princípios do “tidy data” propostos por Hadley Wickham. Com o tidyr, você aprenderá a remodelar conjuntos de dados, tornando-os mais organizados e coerentes, o que é essencial para análises e visualizações posteriores.
Você se aprofundará em técnicas de remodelação e transformação de estrutura de dados no formato “long” e “wide”. Isso envolve funções como gather para transformar dados de “wide” para “long” e spread para fazer o oposto, além das funções pivot_wider e pivot_longer. Você também descobrirá o uso do tibble, uma alternativa moderna ao data frame padrão do R, que oferece aprimoramentos em usabilidade e legibilidade. Além disso, você aprenderá sobre funções separate e unite para dividir e combinar colunas, e as funções across e where para aplicar operações a várias colunas simultaneamente e selecionar colunas com base em critérios específicos, respectivamente. Essas habilidades serão valiosas na preparação de dados para análise e visualização.
O pacote tidyr é uma parte essencial do tidyverse, essa biblioteca é fundamental para tornar a manipulação e organização de dados mais eficiente, seguindo os princípios do tidy data propostos por Hadley Wickham. Através do tidyr, os analistas de dados podem remodelar conjuntos de dados de forma mais organizada e coerente, tornando-os mais adequados para análise e visualização.
Em resumo, o pacote tidyr é uma ferramenta valiosa no tidyverse para realizar operações de transformação e remodelagem de dados no R. Ele oferece funções simples e poderosas para tornar seus conjuntos de dados mais “tidy”, facilitando a análise e visualização de informações.
Para remodelação e transformação de Estrutura de Dados leia os seguintes dados:
dados_wide <- data.frame( ID = c(1, 2, 3), Janeiro = c(100, 200, 150), Fevereiro = c(120, 210, 170), Marco = c(110, 190, 160))
A função gather() é usada para transformar um conjunto de dados do formato wide para o formato longo.
(dados_long <- gather(dados_wide,Mes,Vendas,-ID))
A função spread(), ao contrário da gather(), é usada para transformar um conjunto de dados do formato longo para o formato wide.
(dados_wide <- spread(dados_long, Mes, Vendas) %>% select(ID, Janeiro, Fevereiro, Marco))
Perceba que usamos a função select() do pacote dplyr para ordenar a saída.
As funções pivot_wider() e pivot_longer() são versões simplificadas do spread() e do gather(), elas permitem especificar colunas adicionais para manter durante a transformação, bem como renomear as colunas resultantes.
(dados_widep <- pivot_wider(dados_long, names_from = Mes, values_from = Vendas))
(dados_longp <- pivot_longer(dados_wide, cols = c(Janeiro, Fevereiro, Marco),
names_to = "Mes", values_to = "Vendas"))
Um tibble é uma classe de data frame aprimorada fornecida pelo pacote tibble do tidyverse no R. Ele é uma alternativa moderna ao data frame padrão do R e oferece várias melhorias em termos de usabilidade, legibilidade e compatibilidade com a programação de dados. Um tibble tem uma sintaxe simples, como por exemplo:
dados <- tibble( nome = c("Alice", "Bob", "Carol"), idade = c(28, 22, 35),
altura = c(1.65, 1.75, 1.68), casado = c(TRUE, FALSE, TRUE) )
Também podemos transformar um data frame em tibble utilizando a função as_tibble():
as_tibble(dados_wide)
Essa função é usada para dividir uma coluna em várias colunas com base em um delimitador ou posição específica.
Por exemplo, Suponha que você tenha uma coluna “nomes” contendo nomes no formato “primeiro nome - sobrenome” e deseja separar esses nomes em duas colunas distintas.
dados <- tibble(
nomes = c("Ana Silva", "Carlos Ferreira", "Maria Santos"))
dados_separados <- dados %>%
separate(nomes, into = c("primeiro_nome", "sobrenome"), sep = " ")
dados_separados
O resultado será uma coluna para nome e outra para sobrenome, ao contrário do início ao qual estava o nome completo em uma só coluna.
Ao contrário da função separate(), essa função é usada para combinar várias colunas em uma única coluna.
Por exemplo, suponha que você tenha colunas separadas para “primeiro_nome” e “sobrenome” e deseja uni-las em uma única coluna “nome_completo”.
dados_unidos <- dados_separados %>% unite(nome_completo, primeiro_nome, sobrenome, sep = " ") dados_unidos
Esta função é usada para aplicar uma operação a várias colunas ao mesmo tempo. Ela é particularmente útil quando você deseja realizar uma mesma transformação em várias colunas ou quando precisa selecionar um subconjunto específico de colunas para aplicar uma função.
Por exemplo, suponha que você queira calcular a média das notas de vários trimestres para cada aluno em um data frame.
dados <- tibble(
aluno = c("Ana", "Carlos", "Maria"),
nota_trimestre1 = c(85, 70, 95),
nota_trimestre2 = c(90, 88, 89),
nota_trimestre3 = c(78, 92, 83))
dados_media <- dados %>%
mutate(media_notas = rowMeans(across(starts_with("nota_trimestre"))))
dados_media
Como resultado temos a coluna “media_notas” criada com a função mutate e aplicada a média com a função rowmeans() para todas as colunas que contenham “nota_trimestre”. Note que no script acima usamos a função starts_with(), é uma função do pacote dplyr que permite selecionar colunas de um data frame com base nos seus nomes, começando com um determinado prefixo.
Essa função é usada para selecionar colunas de acordo com uma condição específica. Ela é especialmente útil quando você deseja filtrar colunas com base em critérios específicos, como selecionar colunas numéricas ou colunas que atendem a determinadas condições.
Por exemplo, suponha que você tenha um data frame com diversas colunas e deseje selecionar apenas as colunas numéricas.
colunas_numericas <- dados %>% select(where(is.numeric)) colunas_numericas
Como resultado teremos somente as colunas “nota_trimestre” 1, 2 e 3 dos nossos dados originais.