Como importar dados em .csv no R

12 Jul 2016 por Fernando Meireles


Uma das tarefas mais básicas no R é importar dados. E, dentre todos os tipos de formatos mais usados para armazenar dados, .csv (ou comma-separated values, em inglês). Dados demográficos do Instituto Brasileiro de Geografia e Estatística, dados sobre os gastos do governo federal, por exemplo, vêm neste formato.

Assim como outros ambientes de programação e softwares, o R possui facilidades nativas para importar este tipo de arquivo. Aqui, vou mostrar uma forma de fazer isto.

Importando dados em .csv com read.csv

A primeira forma de carregar dados em .csv no R, e também a mais simples, é por meio da função read.csv(). Por exemplo, vamos supor que queremos abrir um arquivo chamado dados.csv que está localizado no diretório de trabalho no R (é possível verificar o diretório corrento com a função getwd). O procedimento é simples:

df <- read.csv(file = "dados.csv")

Basicamente, este código apenas atribui a um objeto df o resultado da função read.csv, que serve justamente para importar o conteúdo de um arquivo em .csv. O único argumento que precisamos definir foi file, que é onde devemos especificar o endereço do arquivo (como supomos que o arquivos dados.csv estava no diretório local, apenas o nome do arquivo completo foi necessário; mas é possível especificar outros endereços, como “C:/Pasta/dados.csv”).

A função read.csv também possui outros argumentos úteis. O primeiro deles header, que especifica se a primeira linha contém o nome das variáveis (TRUE é o padrão) ou não (para o caso do arquivo não ter o nome das variáveis). O segundo argumento é sep, que indica qual o caractere usado para separar as observações de cada linha (lembrando que um .csv é um tipo de arquivo de texto que apenas separa informações por meio de algum caractere); normalmente, este caractere é ; (ponto e vírgula), mas também é comum o uso de , (vírgula) ou \t (tab). Erros de importação, como quando o R junta todas as observações numa mesma variável, geralmente ocorrem por falta de especificar corretamente este argumento. Podemos melhorar nossa chamada à função read.csv com estes argumentos:

df <- read.csv(file = "dados.csv", header = TRUE, sep = ";")

Com este código, deixamos explícito que a primeira linha do arquivo .csv contém o nome das variáveis, e que o caractere usado para separar as observações é ponto e vírgula.

Outros argumentos úteis da função read.csv

Normalmente, apenas file, header e sep precisam ser especificados para abrir corretamente um .csv. Mas, em alguns casos, problemas adicionais podem tornar necessário o uso de outros argumentos da função. Abaixo, listo três outros deles:


Como importar qualquer arquivo no R »