rmarkdown::render_site()
There are times when one wants to widen/spread a column i,e., convert a column to have its unique values as separate columns, hence making the data format long to wide. One can easily achieve this by using the pivot_wider function from the tidyr package. Let me walk you through with an example:
library(tidyr)
metric1 <- c(15.3, 14.7, 15.2, 13.8, 15.4, 14.8, 14.9, 15.1, 15.9)
id <- c("A01", "A01", "A01", "B01", "B01", "B01", "B02", "B02", "B02")
date <- as.Date(rep(c("2022-01-01", "2022-01-02", "2022-01-03"), 3))
df <- data.frame(metric1, id, date)
df_spread <- df %>% tidyr::pivot_wider(names_from = date, values_from = metric1)
# Before piot_wider()
knitr::kable(df, align = "c", caption = "<center>Table 1</center>") %>% 
  kableExtra::kable_styling(position = "center", full_width = F) 
| metric1 | id | date | 
|---|---|---|
| 15.3 | A01 | 2022-01-01 | 
| 14.7 | A01 | 2022-01-02 | 
| 15.2 | A01 | 2022-01-03 | 
| 13.8 | B01 | 2022-01-01 | 
| 15.4 | B01 | 2022-01-02 | 
| 14.8 | B01 | 2022-01-03 | 
| 14.9 | B02 | 2022-01-01 | 
| 15.1 | B02 | 2022-01-02 | 
| 15.9 | B02 | 2022-01-03 | 
# After piot_wider()
knitr::kable(df_spread, align = "c", caption = "<center>Table 2</center>") %>% 
  kableExtra::kable_styling(position = "center", full_width = F) 
| id | 2022-01-01 | 2022-01-02 | 2022-01-03 | 
|---|---|---|---|
| A01 | 15.3 | 14.7 | 15.2 | 
| B01 | 13.8 | 15.4 | 14.8 | 
| B02 | 14.9 | 15.1 | 15.9 |