Nothing
test_that("nice_table", {
skip_if_not_installed("flextable")
skip_if_not_installed("methods")
my_table <- nice_table(
mtcars[1:3, ],
title = c("Table 1", "Motor Trend Car Road Tests"),
note = c(
"The data was extracted from the 1974 Motor Trend US magazine.",
"* p < .05, ** p < .01, *** p < .001"
)
)
expect_snapshot(my_table)
flextable::save_as_docx(my_table, path = "my_table.docx")
# expect_snapshot_file("my_table.docx")
# Not supported
# Remove file
unlink("my_table.docx")
# Publication-ready tables
mtcars.std <- lapply(mtcars, scale)
model <- lm(mpg ~ cyl + wt * hp, mtcars.std)
stats.table <- as.data.frame(summary(model)$coefficients)
CI <- confint(model)
stats.table <- cbind(
row.names(stats.table),
stats.table, CI
)
names(stats.table) <- c(
"Term", "B", "SE", "t", "p",
"CI_lower", "CI_upper"
)
expect_snapshot(nice_table(stats.table, highlight = TRUE))
# Test different column names
test <- head(mtcars)
names(test) <- c(
"dR", "N", "M", "SD", "b", "np2",
"ges", "p", "r", "R2", "sr2"
)
test[, 10:11] <- test[, 10:11] / 10
expect_snapshot(nice_table(test))
# Custom cell formatting (such as p or r)
expect_snapshot(nice_table(test[8:11], col.format.p = 2:4, highlight = .001))
expect_snapshot(nice_table(test[8:11], col.format.r = 1:4))
# Apply custom functions to cells
fun <<- function(x) {
x + 11.1
}
expect_snapshot(nice_table(test[8:11], col.format.custom = 2:4, format.custom = "fun"))
fun <<- function(x) {
paste("x", x)
}
expect_snapshot(nice_table(test[8:11], col.format.custom = 2:4, format.custom = "fun"))
# Separate headers based on periods
header.data <- structure(
list(
Variable = c(
"Sepal.Length",
"Sepal.Width", "Petal.Length"
), setosa.M = c(
5.01, 3.43,
1.46
), setosa.SD = c(0.35, 0.38, 0.17), versicolor.M =
c(5.94, 2.77, 4.26), versicolor.SD = c(0.52, 0.31, 0.47)
),
row.names = c(NA, -3L), class = "data.frame"
)
expect_snapshot(nice_table(header.data,
separate.header = TRUE,
italics = 2:4
))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.