Tibbles são formatos de dataframe, a vantagem é que ao chamar um banco de dados tibble ele não enche a tela do R com todas as linhas, mas mostra apenas as 10 primeiras linhas e apresenta o tipo de cada coluna.
O tibble pode ser criado a partir de elementos individuais, vetores, matrizes, listas etc.
ex1 <- tribble(
~Dia, ~Vendas,
"1", "2344",
"2", "5420",
"3", "2100",
"4", "2800",
"5", "2454",
"6", "2244",
)
ex1
## # A tibble: 6 x 2
## Dia Vendas
## <chr> <chr>
## 1 1 2344
## 2 2 5420
## 3 3 2100
## 4 4 2800
## 5 5 2454
## 6 6 2244
Vamos criar uma tibble com o vetor A de apenas um número e o vetor b com a sequencia de 1 a 5. Observe que ele recicla (repete)o vetor a de um número.
tibble(a=1, b=1:5)
## # A tibble: 5 x 2
## a b
## <dbl> <int>
## 1 1 1
## 2 1 2
## 3 1 3
## 4 1 4
## 5 1 5
Criando com listas. Uma lista com uma sequencia de 1 a 500, o número 1 e uma sequencia de 500 a 1.
lista1 <- list(x=1:500, y=1, z=500:1)
tb <- as_tibble(lista1)
tb
## # A tibble: 500 x 3
## x y z
## <int> <dbl> <int>
## 1 1 1 500
## 2 2 1 499
## 3 3 1 498
## 4 4 1 497
## 5 5 1 496
## 6 6 1 495
## 7 7 1 494
## 8 8 1 493
## 9 9 1 492
## 10 10 1 491
## # ... with 490 more rows
m <- matrix(1:50, ncol = 5) #primeiro cria a matriz
colnames(m) <- c("var1", "var2", "var3", "var4", "var5")#acrescenta os nomes nas colunas
n <- as_tibble(m) # agora transforma a matriz em tibble
n
## # A tibble: 10 x 5
## var1 var2 var3 var4 var5
## <int> <int> <int> <int> <int>
## 1 1 11 21 31 41
## 2 2 12 22 32 42
## 3 3 13 23 33 43
## 4 4 14 24 34 44
## 5 5 15 25 35 45
## 6 6 16 26 36 46
## 7 7 17 27 37 47
## 8 8 18 28 38 48
## 9 9 19 29 39 49
## 10 10 20 30 40 50
Array é uma coleção de mesmos elementos. Ex: 4 matrizes, 4 vetores ou 5 listas, etc.
a <- array(m,c(4,2,3))#Criar um array de 3 matrizes m, com 4 linhas e 2 colunas
a
## , , 1
##
## [,1] [,2]
## [1,] 1 5
## [2,] 2 6
## [3,] 3 7
## [4,] 4 8
##
## , , 2
##
## [,1] [,2]
## [1,] 9 13
## [2,] 10 14
## [3,] 11 15
## [4,] 12 16
##
## , , 3
##
## [,1] [,2]
## [1,] 17 21
## [2,] 18 22
## [3,] 19 23
## [4,] 20 24
tb <- as_tibble(a)
tb
## # A tibble: 4 x 6
## V1 V2 V3 V4 V5 V6
## <int> <int> <int> <int> <int> <int>
## 1 1 5 9 13 17 21
## 2 2 6 10 14 18 22
## 3 3 7 11 15 19 23
## 4 4 8 12 16 20 24
Para mudar o nome das colunas do dataframe, é só usar o comando names(nomedodf) para mudar da tibble é names(nomedotibble).
names(tb) <- c("a1","a2","a3","a4","a5","a6")
tb
## # A tibble: 4 x 6
## a1 a2 a3 a4 a5 a6
## <int> <int> <int> <int> <int> <int>
## 1 1 5 9 13 17 21
## 2 2 6 10 14 18 22
## 3 3 7 11 15 19 23
## 4 4 8 12 16 20 24
tb$a4 <- c(10,20,30,40)
tb
## # A tibble: 4 x 6
## a1 a2 a3 a4 a5 a6
## <int> <int> <int> <dbl> <int> <int>
## 1 1 5 9 10 17 21
## 2 2 6 10 20 18 22
## 3 3 7 11 30 19 23
## 4 4 8 12 40 20 24
tb[,4]
## # A tibble: 4 x 1
## a4
## <dbl>
## 1 10
## 2 20
## 3 30
## 4 40
Converter o dataframe iris em tibble
class(iris)
## [1] "data.frame"
dim(iris)
## [1] 150 5
myiris <- as_tibble(iris)
myiris
## # A tibble: 150 x 5
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## <dbl> <dbl> <dbl> <dbl> <fct>
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## 7 4.6 3.4 1.4 0.3 setosa
## 8 5 3.4 1.5 0.2 setosa
## 9 4.4 2.9 1.4 0.2 setosa
## 10 4.9 3.1 1.5 0.1 setosa
## # ... with 140 more rows
class(myiris)
## [1] "tbl_df" "tbl" "data.frame"
#Alguns testes estatísticos só funcionam em dataframe, não em tibble.
Posso importar txt separado por espaço em branco, vírgula, ponto e vírgula, traço etc.
usa o comando read.table(caminho,separador)
Para pular as primeiras linhas usa o comando skip = quantidade de linhas
Para importar um texto, usa o comando readLlines(caminho)
Novo pacote install.packages(“readr”) para ler maiores massas de dados
read_table2