add_new_spreadsheet | R Documentation |
This function adds a data frame and optional image to a new spreadsheet in an Excel workbook.
add_new_spreadsheet(
spreadsheet_name,
data,
image_path = NA_character_,
image_width,
image_height,
filter = TRUE
)
spreadsheet_name |
The name of the spreadsheet to which the data and optionally an image will be added. |
data |
The name of the data frame containing the data to add to the spreadsheet. |
image_path |
The path name for the image to be optionally added to the spreadsheet. |
image_width |
The width of image in inches to be optionally added to the spreadsheet. |
image_height |
The height of image in inches to be optionally added to the spreadsheet. |
filter |
Should a filter be added to the data (default TRUE) in the spreadsheet or not (FALSE). |
The text is left aligned with the first header row made bold. The widths of the columns in the spreadsheet are also automatically adjusted to fit the text and the filter functionality is switched on.
An image may be inserted to the right of the text with both the image's width and height sizes adjustable by providing their sizes in inches in the function's parameters.
The data frame is returned invisibly so that the function can be used in a piped workflow.
# example taken from palmerpenguins example analysis of mass vs. flipper length
# https://allisonhorst.github.io/palmerpenguins/articles/examples.html
suppressPackageStartupMessages({
suppressWarnings({
library(palmerpenguins)
library(fs)
library(dplyr)
library(ggplot2)
library(ragg)
})
})
# create temp directory
dir_create(path(tempdir(), "figures"))
# data
penguins_mass_flipper <- penguins %>%
select(species, flipper_length_mm, body_mass_g)
# graph
penguins_mass_flipper_plot <- ggplot(data = penguins_mass_flipper,
aes(x = flipper_length_mm,
y = body_mass_g)) +
geom_point(aes(color = species,
shape = species),
size = 3,
alpha = 0.8) +
theme_minimal() +
scale_color_manual(values = c("darkorange","purple","cyan4")) +
labs(title = "Penguin size, Palmer Station LTER",
subtitle = "Flipper length and body mass for Adelie, Chinstrap and Gentoo Penguins",
x = "Flipper length (mm)",
y = "Body mass (g)",
color = "Penguin species",
shape = "Penguin species") +
theme(legend.position = c(0.2, 0.7),
legend.background = element_rect(fill = "white", color = NA),
plot.title.position = "plot",
plot.caption = element_text(hjust = 0, face= "italic"),
plot.caption.position = "plot")
# save graph
suppressWarnings({
ggsave(filename = path(tempdir(), "figures", "penguins_mass_flipper_plot.png"),
plot = penguins_mass_flipper_plot,
device = agg_png,
width = 6,
height = 6,
units = "in",
dpi = 72)
})
## Not run:
## export data and graph into spreadsheet
suppressPackageStartupMessages({
suppressWarnings({
library(fs)
library(stringr)
library(here)
library(lubridate)
library(openxlsx)
})
})
workbook_path <- path(tempdir(), str_glue("example_{today()}.xlsx"))
if(!file_exists(workbook_path)) {
workbook <- createWorkbook()
} else {
loadWorkbook(workbook_path)
}
add_new_spreadsheet(spreadsheet_name = "palmerpenguins",
data = penguins_mass_flipper,
image_path = path(tempdir(), "figures", "penguins_mass_flipper_plot.png"),
image_width = 6,
image_height = 6)
saveWorkbook(workbook, workbook_path, overwrite = TRUE)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.