Definindo que colunas devem ser importadas

Olá.

Tenho um data frame com 92 variáveis e quero importar apenas algumas. Eu criei um vetor especificando-as:

variaveis_selecionadas <- c(“NU_IDADE_REFERENCIA”, “CO_MUNICIPIO_END”).

Meu código de importação é:

MATRICULA_NORTE <- read_delim(“Dados/MATRICULA_NORTE.CSV”, “|”, escape_double = FALSE, trim_ws = TRUE)

Sei que devo por a relação de colunas no final do código de importação, mas não lembro como faço.

Gratidão a quem puder me ajudar.

1 curtida

Oi, Hidelbrando.

Ohei a documentação da função readr::read_delim() aqui e ela não possui um argumento “seletor de colunas”. Se você quer apenas algumas colunas, você pode importar todas e selecionar só as que você precisa com um dplyr::select(). Se a base for muito grande, você pode salvar essa base reduzida em um arquivo no projeto e sempre começar a análise a partir da importação dela, só precisando ler a base completa novamente se os dados mudarem.

Das funções de importação mais conhecidas, a única que me lembro permitir selecionar colunas na importação é a readxl::read_excel(), pois ela permite pegar um pedaço da planilha com o parâmetro range.

1 curtida

Boa noite, Hidelbrando.

Complementando a resposta do Will, o único pacote que sei que permite seleção das colunas no momento da importação é o vroom. Um exemplo prático pode ser verificado no seguinte post do Julio no blog da Curso R:
Explorando a base de dados de CNPJ da Receita Federal.

Basicamente a sintaxe é essa:

base_de_dados <- vroom::vroom(sua_base_de_dados,
col_select = c(“nome_coluna_1”, “nome_coluna_2”, “etc”))

Mais detalhes sobre o pacote podem ser encontrados no seguinte link:

1 curtida

Obrigado Wil.

Lembrei como faz.

Vou aproveitar e compartilhar com vocês a solução que encontrei. Para grandes bases de dados, dá para usar o comando “fread” do pacote “data.frame”. O código fica assim:

varInteresse = c(“var1”, “var2”, …, “vark”)

df <- fread(“dados/base_de_dados.csv”, select = (varInteresse))

1 curtida

Olá Maykon

Obrigado pela dica. Lembrei do comando fread do pacote data.table. O exemplo está acima.

Gratidão.

1 curtida