Bem-vindo/a ao curso!

Manipulação de dados com data.table em R

Matt Dowle and Arun Srinivasan

Instructors, DataCamp

O que é um data.table?

  • data.frame aprimorado
    • Herda e estende data.frame
  • Estrutura de dados colunar
  • Cada coluna deve ter o mesmo comprimento, mas pode ter tipos diferentes
Manipulação de dados com data.table em R

Por que usar data.table?

  • Sintaxe concisa e consistente
    • Pense em rows, columns e groups
    • Oferece um placeholder para cada um
# General form of data.table syntax
DT[i, j, by]
   |  |  |
   |  |  --> agrupado por quê?
   |  -----> o que fazer?
   --------> em quais linhas?
Manipulação de dados com data.table em R

benchmark

Manipulação de dados com data.table em R

Por que usar data.table?

Manipulação de dados com data.table em R

Criando um data.table

Três formas de criar data tables:

  • data.table()
  • as.data.table()
  • fread()
Manipulação de dados com data.table em R

Criando um data.table

library(data.table)
x_df <- data.frame(id = 1:2, name = c("a", "b"))
x_df
id name
 1    a
 2    b
x_dt <- data.table(id = 1:2, name = c("a", "b"))
x_dt
id name
 1    a
 2    b
Manipulação de dados com data.table em R

Criando um data.table

y <- list(id = 1:2, name = c("a", "b"))
y
$id
1 2
$name
"a" "b"
x <- as.data.table(y)
x
id name
 1    a
 2    b
Manipulação de dados com data.table em R

data.tables e data.frames (I)

Como um data.table é um data.frame...

x <- data.table(id = 1:2, 
                name = c("a", "b"))
x
id name
 1    a
 2    b
class(x)
"data.table" "data.frame"
Manipulação de dados com data.table em R

data.tables e data.frames (II)

Funções para consultar data.frames também funcionam em data.tables

nrow(x)
2
ncol(x)
2
dim(x)
2 2
Manipulação de dados com data.table em R

data.tables e data.frames (III)

Um data table nunca converte automaticamente colunas de caracteres em factors

x_df <- data.frame(id = 1:2, name = c("a", "b"))
class(x_df$name)
"factor"
x_dt <- data.table(id = 1:2, name = c("a", "b"))
class(x_dt$name)
"character"
Manipulação de dados com data.table em R

data.tables e data.frames (IV)

Nunca define, precisa ou usa nomes de linha

rownames(x_dt) <- c("R1", "R2")
x_dt
   id name
1:  1    a
2:  2    b
Manipulação de dados com data.table em R

Vamos praticar!

Manipulação de dados com data.table em R

Preparing Video For Download...