Diversos pacotes que utilizam o tratamento com tabelas

Utilizaremos com mais frequência o pacote Knitr

library(knitr)
head(mtcars)
               mpg cyl disp  hp drat    wt  qsec vs am gear carb

Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1

kable(mtcars[1:5, ], caption = "A knitr kable.")
A knitr kable.
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2

Kable PANDOC

knitr::kable(head(mtcars[, 1:4]), "pandoc")
mpg cyl disp hp
Mazda RX4 21.0 6 160 110
Mazda RX4 Wag 21.0 6 160 110
Datsun 710 22.8 4 108 93
Hornet 4 Drive 21.4 6 258 110
Hornet Sportabout 18.7 8 360 175
Valiant 18.1 6 225 105

Kable MARKDOWN

knitr::kable(head(mtcars[, 1:4]), "markdown")
mpg cyl disp hp
Mazda RX4 21.0 6 160 110
Mazda RX4 Wag 21.0 6 160 110
Datsun 710 22.8 4 108 93
Hornet 4 Drive 21.4 6 258 110
Hornet Sportabout 18.7 8 360 175
Valiant 18.1 6 225 105

Kable HTML

knitr::kable(mtcars[, 1:4], "html")
mpg cyl disp hp
Mazda RX4 21.0 6 160.0 110
Mazda RX4 Wag 21.0 6 160.0 110
Datsun 710 22.8 4 108.0 93
Hornet 4 Drive 21.4 6 258.0 110
Hornet Sportabout 18.7 8 360.0 175
Valiant 18.1 6 225.0 105
Duster 360 14.3 8 360.0 245
Merc 240D 24.4 4 146.7 62
Merc 230 22.8 4 140.8 95
Merc 280 19.2 6 167.6 123
Merc 280C 17.8 6 167.6 123
Merc 450SE 16.4 8 275.8 180
Merc 450SL 17.3 8 275.8 180
Merc 450SLC 15.2 8 275.8 180
Cadillac Fleetwood 10.4 8 472.0 205
Lincoln Continental 10.4 8 460.0 215
Chrysler Imperial 14.7 8 440.0 230
Fiat 128 32.4 4 78.7 66
Honda Civic 30.4 4 75.7 52
Toyota Corolla 33.9 4 71.1 65
Toyota Corona 21.5 4 120.1 97
Dodge Challenger 15.5 8 318.0 150
AMC Javelin 15.2 8 304.0 150
Camaro Z28 13.3 8 350.0 245
Pontiac Firebird 19.2 8 400.0 175
Fiat X1-9 27.3 4 79.0 66
Porsche 914-2 26.0 4 120.3 91
Lotus Europa 30.4 4 95.1 113
Ford Pantera L 15.8 8 351.0 264
Ferrari Dino 19.7 6 145.0 175
Maserati Bora 15.0 8 301.0 335
Volvo 142E 21.4 4 121.0 109

Alterar nomes de colunas - substitui . por —

iris2 <- head(iris)
knitr::kable(iris2, col.names = gsub("[.]", "---", names(iris)))
Sepal—Length Sepal—Width Petal—Length Petal—Width S pecies
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa

Alinhamento da coluna do título

l(esquerda), c(centro) e r(direita)

knitr::kable(iris2, align = "lccrr")
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa

Adicionar legenda

knitr::kable(iris2, caption = "Dados de IRIS")
Dados de IRIS
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa

Formatação de colunas numéricas

d <- cbind(X1 = runif(3), X2 = 10^c(3, 5, 7), X3 = rnorm(3, 
  0, 1000))
# at most 4 decimal places
knitr::kable(d, digits = 4)
X1 X2 X3
0.9402 1e+03 934.2109
0.3505 1e+05 748.2240
0.3279 1e+07 581.2051

Formatação de colunas numéricas , difrentes digitos

knitr::kable(d, digits = c(5, 0, 2))
X1 X2 X3
0.94016 1e+03 934.21
0.35046 1e+05 748.22
0.32795 1e+07 581.21

Exibição de valores ausentes

d[rbind(c(1, 1), c(2, 3), c(3, 2))] <- NA
knitr::kable(d)  # NA é mostrado por padrão como valor ausente
X1 X2 X3
NA 1e+03 934.2109
0.3504616 1e+05 NA
0.3279466 NA 581.2051
opts <- options(knitr.kable.NA = "")
knitr::kable(d) # NA é trocado por vazio
X1 X2 X3
1e+03 934.2109
0.3504616 1e+05
0.3279466 581.2051
options(knitr.kable.NA = "AUSENTE")
knitr::kable(d) # NA é trocado pela palavra AUSENTE
X1 X2 X3
AUSENTE 1e+03 934.2109
0.3504616 1e+05 AUSENTE
0.3279466 AUSENTE 581.2051

Formatação de caracteres especiais

m <- lm(dist ~ speed, data = cars)
d <- coef(summary(m))
knitr::kable(d)
Estimate St d. Error t value P r(>|t|)
(Intercept) -17.579095 6.7584402 -2.601058 0.0123188
speed 3.932409 0.4155128 9.463990 0.0000000
rownames(d) <- c("$\\beta_0$", "$\\beta_1$")
colnames(d)[4] <- "$ P(T > |t|)"
knitr::kable(d) # expressões que contêm caracteres especiais $, \, e _:
Estimate St d. Error t value $ P(T > |t|)
\(\beta_0\) -17.579095 6.7584402 -2.601058 0.0123188
\(\beta_1\) 3.932409 0.4155128 9.463990 0.0000000

Tabelas lado a lado

knitr::kable(
  list(
    head(cars, 3),
    head(mtcars[, 1:3], 5)
  ),
  caption = 'Duas tabelas lado a lado',
  booktabs = TRUE, valign = 't'
)
Duas tabelas lado a lado
speed dist
4 2
4 10
7 4
mpg cyl disp
Mazda RX4 21.0 6 160
Mazda RX4 Wag 21.0 6 160
Datsun 710 22.8 4 108
Hornet 4 Drive 21.4 6 258
Hornet Sportabout 18.7 8 360