Manipulando Dados com dplyr e tidyr

De Wiki R
Ir para: navegação, pesquisa

Visão geral

O dplyr é uma gramática de manipulação de dados, fornecendo um conjunto consistente de verbos que ajudam a resolver os desafios mais comuns de manipulação de dados:

Guia rápido e resumido funções dplyr tidyr

  • Remodelando dados
    • arrange(): altera a ordenação dos registros
    • gather(): converte colunas em linhas
    • spread(): converte linhas em colunas
    • separate(): separa uma coluna em duas ou mais colunas
    • unite(): junta conteúdo de colunas em uma coluna
    • rename(): altera o nome da coluna
  • Filtrando registros
    • filter(): escolhe casos com base em seus valores
    • distinct(): retorna somente os valores únicos removendo conteúdo duplicado
    • sample_frac(): gera uma amostra aleatória e retorna os registros
    • sample_n(): gera uma amostra aleatória e retorna o número das linhas
    • slice(): extrai linhas por posição
    • top_n(): seleciona as primeiras ou últimas linhas por valor de uma ou mais colunas
  • Filtrando colunas
    • select(): escolhe variáveis ​​com base em seus nomes
  • Criar novas variáveis
    • mutate(): adiciona novas variáveis ​​que são funções de variáveis ​​existentes
    • transmute(): cria uma tabela nova somente com as variáveis indicadas
    • count(): Quantifica o número de linhas com a combinação única do conteúdo das variáveis indicadas
    • summarise(): reduz vários valores para um único resumo
  • Combinando tabelas
    • Juntando tabelas
      • left_join(a, b, by = "x1"): junta as colunas da tabela "b" na tabela "a" que correspondem às variáveis com mesmo nome ou indicadas
      • right_join(a, b, by = "x1"): junta as colunas da tabela "a" na tabela "b" que correspondem às variáveis com mesmo nome ou indicadas
      • inner_join(a, b, by = "x1"): cria uma tabela somente com as colunas da tabela "b" na tabela "a" que possuam correspondência. Não preenche com NA
      • full_join(a, b, by = "x1"): cria uma tabela juntando a tabela "b" na tabela "a" independente de existir correspondência. Preenche com NA
    • Filtrando registros a partir de outra tabela
      • semi_join(a, b, by = "x1"): exibe os registros da tabela "a" que possuem correspondência na tabela "b"
      • anti_join(a, b, by = "x1"): exibe os registros da tabela "a" que NÃO possuem correspondência na tabela "b"
    • Operadores
      • intersect(a, b): somente registros que existem em ambas as tabelas
      • union(a, b): junta a tabela "a" com a tabela "b" SEM duplicações de registros
      • union_all(a, b): junta a tabela "a" com a tabela "b" COM duplicações de registros
      • setdiff(a, b): cria uma tabela somente com os registros que são diferentes
    • Adicionando linhas e colunas
      • bind_rows(a, b): adiciona registros da tabela "b" na tabela "a"
      • bind_cols(a, b): adiciona colunas da tabela "b" na tabela "a"

Todos estes combinam naturalmente com o group_by() que permite realizar qualquer operação “por grupo”. Você pode aprender mais sobre eles em vignette("dplyr"). Assim como esses verbos de tabela única, o dplyr também fornece uma variedade de verbos de duas tabelas, sobre os quais você pode aprender vignette("two-table").

O dplyr é projetado para abstrair sobre como os dados são armazenados. Isso significa que, além de trabalhar com quadros de dados locais, você também pode trabalhar com tabelas de banco de dados remotas, usando exatamente o mesmo código R. Instale o pacote dbplyr e leia vignette("databases", package = "dbplyr").

Instalação carga

# Instala todos os pacotes para manipulacao dos dados
install.packages("tidyverse", dependencies = TRUE)
# Carrega pacotes para manipulacao de dados
library(tidyverse)

Exemplos de aplicação com a base starwars

Exemplos de manipulação de dados com a base de dados do universo StarWars.