ComeçarComece de graça

col_types com coletores

Outra maneira de definir os tipos das colunas importadas é usar funções de coleta (collectors). Elas podem ser passadas em uma list() no argumento col_types das funções read_ para indicar a elas como interpretar os valores de uma coluna.

Para obter uma lista completa das funções de coleta, você pode consultar a documentação sobre collector. Neste exercício, você vai precisar de duas funções de coleta:

  • col_integer(): a coluna deve ser interpretada como um número inteiro.
  • col_factor(levels, ordered = FALSE): a coluna deve ser interpretada como um fator com níveis (levels).

Neste exercício, você vai trabalhar com hotdogs.txt (visualizar), um arquivo delimitado por tabulação sem nomes de colunas na primeira linha.

Este exercício faz parte do curso

Introdução à Importação de Dados no R

Ver curso

Instruções do exercício

  • hotdogs já foi criado para você sem definir os tipos de coluna. Inspecione seu resumo usando a função summary().
  • Duas funções de coleta foram definidas para você: fac e int. Dê uma olhada nelas. Você entende o que elas estão coletando?
  • Na segunda chamada de read_tsv(), edite o argumento col_types: Passe um list() com os elementos fac, int e int, de modo que a primeira coluna seja importada como um fator e a segunda e terceira colunas como inteiros.
  • Crie um resumo de hotdogs_factor usando summary(). Compare isso com o resumo de hotdogs.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Import without col_types
hotdogs <- read_tsv("hotdogs.txt", col_names = c("type", "calories", "sodium"))

# Display the summary of hotdogs
___

# The collectors you will need to import the data
fac <- col_factor(levels = c("Beef", "Meat", "Poultry"))
int <- col_integer()

# Edit the col_types argument to import the data correctly: hotdogs_factor
hotdogs_factor <- read_tsv("hotdogs.txt",
                           col_names = c("type", "calories", "sodium"),
                           col_types = NULL)

# Display the summary of hotdogs_factor
___
Editar e executar o código