FAQ - Questões Frequentes de R

Como carregar arquivos do Excel (.xls, .xlsx) no R?

Os formatos do Excel ainda são bastantes populares, embora eles não permitam um projeto 100% replicável. Para ler arquivos deste tipo você precisará instalar algum pacote. Neste exemplo vamos usar o readxl:

install.packages("readxl")
library(readxl)

Para carregar um arquivo banco.xlsx que está no seu espaço de trabalho do R use:

df <- read_xlsx("banco.xlsx")

# se o arquivo é xls

df <- read_xls("banco.xls")

Você pode usar o parâmetro sheets=X para indicar a planilha que quer importar, sendo X o número dessa planilha. Você também pode indicar col_names=FALSE se sua planilha não tem o nome das variáveis. Pode pular linhas com o skip ou o número máximo de linhas com o max. Leia a documentação e veja as demais possibilidades.

Ao exportar seus dados prefira formatos abertos de texto (.txt, .csv) ou de planilhas (.ods). A solução do R em .rds é bem eficiente para quem vai usá-lo no futuro. Ferramentas de código aberto evitam problemas de compatibilidade.

Como juntar bancos de dados?

Existem várias formas de fazer isso em diferentes cenários.

  1. Juntar bancos com variáveis em comum: Nesse caso o pesquisador possui variáveis identificadoras comuns entres os bancos de dados.

Supondo que essa variável seja país:

novo_banco <-  merge(banco1, banco2, by="país")

Agora com mais variáveis identificadoras:

novo_banco <-  merge(banco1, banco2, by=c("país", "ano", "mes"))

Se você quer manter todos os casos do banco1:

novo_banco <-  merge(banco1, banco2, by=c("país", "ano", "mes"), all.x=TRUE)

Se você quer manter todos os casos do banco2:

novo_banco <-  merge(banco1, banco2, by=c("país", "ano", "mes"), all.y=TRUE)

E se você quiser manter todos os casos do banco1 e banco2:

novo_banco <-  merge(banco1, banco2, by=c("país", "ano", "mes"), all=TRUE)

Mais informações na documentação oficial da função merge.

  1. Adicionar novos casos (adicionar linhas): Quando você tem novos casos para ser adicionados a um banco preexistente você pode usar:
novo_banco <- rbind(banco1, novos_casos)
#nota: quantidade de colunas e nomes devem conhecidir.
  1. Adicionar novas variáveis (colunas): Você pode ter novas informações sobre os casos que você possui em um banco e não tem identificador. Você pode usar:
novo_banco <- cbind(banco1, novas_informacoes)
# nota: o total de linhas deve conhecidir e estarem na mesma ordem .

Como fazer?

(Em desenvolvimento)