Explicações de Estatística
Marcar Sessão

Manipulação de dados em R

Para trabalhar os dados em R utilizam-se comandos que permitem criar, filtrar, transformar e limpar dataframes. A maior parte do trabalho prático centra-se em preparar os dados antes da análise.

Criar variáveis

A criação de uma variável faz-se com o operador de atribuição <-:

a <- 5
nome <- "João"
ativo <- TRUE

Aceder a campos de um dataframe

Os dados importados criam habitualmente um dataframe. Cada coluna é acedida com $:

df$idade          # acede à coluna "idade"
df$nome[1]        # primeiro valor da coluna "nome"

Filtrar linhas

Para remover linhas com base numa condição — por exemplo, excluir todas as linhas com morada em Lisboa:

df_limpa <- df[!(df$morada == "Lisboa"), ]

Com dplyr a sintaxe fica mais legível:

library(dplyr)
df_limpa <- df |> filter(morada != "Lisboa")

Remover duplicados

library(dplyr)
df_unicas <- distinct(df)

# Remover duplicados apenas com base numa coluna:
df_unicas <- distinct(df, id, .keep_all = TRUE)

Selecionar e renomear colunas

library(dplyr)
# Selecionar só algumas colunas
df2 <- df |> select(id, idade, grupo)

# Renomear colunas
df2 <- df |> rename(identificador = id, anos = idade)

Criar e transformar variáveis

library(dplyr)
df <- df |> mutate(
  idade_anos  = idade / 12,
  grupo_fator = as.factor(grupo),
  log_score   = log(score)
)

Lidar com valores em falta (NA)

# Verificar quantos NA existem por coluna
colSums(is.na(df))

# Remover linhas com qualquer NA
df_sem_na <- na.omit(df)

# Substituir NA por 0 numa coluna
df$score[is.na(df$score)] <- 0