Function for concatenating htmlTable()s
concatHtmlTables(tables, headers = NULL)A list of htmlTable()s to be concatenated
Either a string or a vector of strings that function as a header for each table. If none is provided it will use the names of the table list or a numeric number.
htmlTable() class object
library(magrittr)
# Basic example
tables <- list()
output <- matrix(1:4,
ncol = 2,
dimnames = list(list("Row 1", "Row 2"),
list("Column 1", "Column 2")))
tables[["Simple table"]] <- htmlTable(output)
# An advanced output
output <- matrix(ncol = 6, nrow = 8)
for (nr in 1:nrow(output)) {
for (nc in 1:ncol(output)) {
output[nr, nc] <-
paste0(nr, ":", nc)
}
}
tables[["Fancy table"]] <- output %>%
addHtmlTableStyle(align = "r",
col.columns = c(rep("none", 2),
rep("#F5FBFF", 4)),
col.rgroup = c("none", "#F7F7F7"),
css.cell = "padding-left: .5em; padding-right: .2em;") %>%
htmlTable(header = paste(c("1st", "2nd",
"3rd", "4th",
"5th", "6th"),
"hdr"),
rnames = paste(c("1st", "2nd",
"3rd",
paste0(4:8, "th")),
"row"),
rgroup = paste("Group", LETTERS[1:3]),
n.rgroup = c(2,4,nrow(output) - 6),
cgroup = rbind(c("", "Column spanners", NA),
c("", "Cgroup 1", "Cgroup 2†")),
n.cgroup = rbind(c(1,2,NA),
c(2,2,2)),
caption = "Basic table with both column spanners (groups) and row groups",
tfoot = "† A table footer commment",
cspan.rgroup = 2)
concatHtmlTables(tables)
#> <h1>Simple table</h1> <table class='gmisc_table' style='border-collapse: collapse; margin-top: 1em; margin-bottom: 1em;' >
#> <thead>
#> <tr><th style='border-bottom: 1px solid grey; border-top: 2px solid grey;'></th>
#> <th style='font-weight: 900; border-bottom: 1px solid grey; border-top: 2px solid grey; text-align: center;'>Column 1</th>
#> <th style='font-weight: 900; border-bottom: 1px solid grey; border-top: 2px solid grey; text-align: center;'>Column 2</th>
#> </tr>
#> </thead>
#> <tbody>
#> <tr>
#> <td style='text-align: left;'>Row 1</td>
#> <td style='text-align: center;'>1</td>
#> <td style='text-align: center;'>3</td>
#> </tr>
#> <tr>
#> <td style='border-bottom: 2px solid grey; text-align: left;'>Row 2</td>
#> <td style='border-bottom: 2px solid grey; text-align: center;'>2</td>
#> <td style='border-bottom: 2px solid grey; text-align: center;'>4</td>
#> </tr>
#> </tbody>
#> </table><h1>Fancy table</h1><table class='gmisc_table' style='border-collapse: collapse; margin-top: 1em; margin-bottom: 1em;' >
#> <thead>
#> <tr><td colspan='9' style='text-align: left;'>
#> Basic table with both column spanners (groups) and row groups</td></tr>
#> <tr>
#> <th style='border-top: 2px solid grey;'></th>
#> <th colspan='2' style='font-weight: 900; border-top: 2px solid grey; text-align: center;'></th><th style='border-bottom: none; border-top: 2px solid grey;' colspan=1> </th>
#> <th colspan='5' style='font-weight: 900; border-bottom: 1px solid grey; border-top: 2px solid grey; text-align: center;'>Column spanners</th>
#> </tr>
#> <tr>
#> <th style=''></th>
#> <th colspan='2' style='font-weight: 900; text-align: center;'></th><th style='border-bottom: none;' colspan=1> </th>
#> <th colspan='2' style='font-weight: 900; border-bottom: 1px solid grey; text-align: center;'>Cgroup 1</th><th style='border-bottom: none;' colspan=1> </th>
#> <th colspan='2' style='font-weight: 900; border-bottom: 1px solid grey; text-align: center;'>Cgroup 2†</th>
#> </tr>
#> <tr><th style='border-bottom: 1px solid grey;'></th>
#> <th style='font-weight: 900; border-bottom: 1px solid grey; text-align: center;'>1st hdr</th>
#> <th style='font-weight: 900; border-bottom: 1px solid grey; text-align: center;'>2nd hdr</th>
#> <th style='font-weight: 900; border-bottom: 1px solid grey; text-align: center;' colspan=1> </th>
#> <th style='font-weight: 900; border-bottom: 1px solid grey; background-color: #f5fbff; text-align: center;'>3rd hdr</th>
#> <th style='font-weight: 900; border-bottom: 1px solid grey; background-color: #f5fbff; text-align: center;'>4th hdr</th>
#> <th style='font-weight: 900; border-bottom: 1px solid grey; text-align: center; background-color: #f5fbff;' colspan=1> </th>
#> <th style='font-weight: 900; border-bottom: 1px solid grey; background-color: #f5fbff; text-align: center;'>5th hdr</th>
#> <th style='font-weight: 900; border-bottom: 1px solid grey; background-color: #f5fbff; text-align: center;'>6th hdr</th>
#> </tr>
#> </thead>
#> <tbody>
#> <tr><td colspan='2' style='padding-left: .5em; padding-right: .2em; font-weight: 900;'>Group A</td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; background-color: #f5fbff; text-align: right;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; background-color: #f5fbff; text-align: right;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right; background-color: #f5fbff;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; background-color: #f5fbff; text-align: right;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; background-color: #f5fbff; text-align: right;'></td></tr>
#> <tr>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: left;'> 1st row</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right;'>1:1</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right;'>1:2</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>1:3</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>1:4</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #f5fbff;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>1:5</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>1:6</td>
#> </tr>
#> <tr>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: left;'> 2nd row</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right;'>2:1</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right;'>2:2</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>2:3</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>2:4</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #f5fbff;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>2:5</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>2:6</td>
#> </tr>
#> <tr><td colspan='2' style='padding-left: .5em; padding-right: .2em; font-weight: 900; background-color: #f7f7f7;'>Group B</td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; background-color: #f7f7f7; text-align: right;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right; background-color: #F7F7F7;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right; background-color: #F6F9FB;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right; background-color: #F6F9FB;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right; background-color: #F6F8F9;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right; background-color: #F6F9FB;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right; background-color: #F6F9FB;'></td></tr>
#> <tr style='background-color: #f7f7f7;'>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: left;'> 3rd row</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: right;'>3:1</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: right;'>3:2</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F7F7F7;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>3:3</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>3:4</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F8F9;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>3:5</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>3:6</td>
#> </tr>
#> <tr style='background-color: #f7f7f7;'>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: left;'> 4th row</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: right;'>4:1</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: right;'>4:2</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F7F7F7;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>4:3</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>4:4</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F8F9;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>4:5</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>4:6</td>
#> </tr>
#> <tr style='background-color: #f7f7f7;'>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: left;'> 5th row</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: right;'>5:1</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: right;'>5:2</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F7F7F7;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>5:3</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>5:4</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F8F9;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>5:5</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>5:6</td>
#> </tr>
#> <tr style='background-color: #f7f7f7;'>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: left;'> 6th row</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: right;'>6:1</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f7f7f7; text-align: right;'>6:2</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F7F7F7;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>6:3</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>6:4</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F8F9;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>6:5</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #F6F9FB;'>6:6</td>
#> </tr>
#> <tr><td colspan='2' style='padding-left: .5em; padding-right: .2em; font-weight: 900;'>Group C</td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; background-color: #f5fbff; text-align: right;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; background-color: #f5fbff; text-align: right;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; text-align: right; background-color: #f5fbff;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; background-color: #f5fbff; text-align: right;'></td>
#> <td style='padding-left: .5em; padding-right: .2em; font-weight: 900; background-color: #f5fbff; text-align: right;'></td></tr>
#> <tr>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: left;'> 7th row</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right;'>7:1</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right;'>7:2</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>7:3</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>7:4</td>
#> <td style='padding-left: .5em; padding-right: .2em; text-align: right; background-color: #f5fbff;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>7:5</td>
#> <td style='padding-left: .5em; padding-right: .2em; background-color: #f5fbff; text-align: right;'>7:6</td>
#> </tr>
#> <tr>
#> <td style='padding-left: .5em; padding-right: .2em; border-bottom: 2px solid grey; text-align: left;'> 8th row</td>
#> <td style='padding-left: .5em; padding-right: .2em; border-bottom: 2px solid grey; text-align: right;'>8:1</td>
#> <td style='padding-left: .5em; padding-right: .2em; border-bottom: 2px solid grey; text-align: right;'>8:2</td>
#> <td style='padding-left: .5em; padding-right: .2em; border-bottom: 2px solid grey; text-align: right;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; border-bottom: 2px solid grey; background-color: #f5fbff; text-align: right;'>8:3</td>
#> <td style='padding-left: .5em; padding-right: .2em; border-bottom: 2px solid grey; background-color: #f5fbff; text-align: right;'>8:4</td>
#> <td style='padding-left: .5em; padding-right: .2em; border-bottom: 2px solid grey; text-align: right; background-color: #f5fbff;' colspan=1> </td>
#> <td style='padding-left: .5em; padding-right: .2em; border-bottom: 2px solid grey; background-color: #f5fbff; text-align: right;'>8:5</td>
#> <td style='padding-left: .5em; padding-right: .2em; border-bottom: 2px solid grey; background-color: #f5fbff; text-align: right;'>8:6</td>
#> </tr>
#> </tbody>
#> <tfoot><tr><td colspan='9'>
#> † A table footer commment</td></tr></tfoot>
#> </table>