col_types com coletores
Outra maneira de definir os tipos das colunas importadas é usar coletores. As funções do coletor podem ser passadas em um list() para o argumento col_types das funções read_ para que você saiba como interpretar os valores em uma coluna.
Para obter uma lista completa das funções do coletor, você pode consultar a documentação em collector. Para este exercício, você precisará de duas funções de coletor:
col_integer()Se você não tiver uma coluna, pode usar a opção "Número inteiro": a coluna deve ser interpretada como um número inteiro.col_factor(levels, ordered = FALSE)Você deve interpretar a coluna como um fator comlevels.
Neste exercício, você trabalhará com hotdogs.txt (view), que é um arquivo delimitado por tabulação sem nomes de coluna na primeira linha.
Este exercício faz parte do curso
Introdução à importação de dados no R
Instruções do exercício
hotdogsé criado para você sem definir os tipos de coluna. Inspecione seu resumo usando a funçãosummary().- Duas funções de coletor estão definidas para você:
faceint. Dê uma olhada neles, você entende o que eles estão coletando? - Na segunda chamada
read_tsv(), edite o argumentocol_types: Passe umlist()com os elementosfac,inteint, de modo que a primeira coluna seja importada como um fator e a segunda e terceira colunas como inteiros. - Crie um
summary()dehotdogs_factor. Compare isso com o resumo dehotdogs.
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
___