This function coverts a character matrix to an html table.
matrix2html(x, caption = NULL, styles = NULL, indexes = NULL, class = NULL)
x | a character matrix. Is most of the cases it is the object
returned by |
---|---|
caption | a string to be the caption of the table. Default is
|
styles | a vector with style definition for |
indexes | a positive integer matrix with dimensions equal to
|
class | a string corresponding a table style defined in a
|
a character vector. Use cat
inside chunks with header
results = "asis"
to print the result as interpretable code
of an html table.
table_format()
.
#> chr [1:6, 1:4] "4990" "7002" "7558" "7352" "7943" "7979" "2791.9" "3892.6" ... #> - attr(*, "dimnames")=List of 2 #> ..$ : NULL #> ..$ : chr [1:4] "area" "peri" "shape" "perm"#> <table> #> <tr> #> <th>4990</th> #> <th>2791.9</th> #> <th>0.0903296</th> #> <th>6.3</th> #> </tr> #> <tr> #> <td>7002</td> #> <td>3892.6</td> #> <td>0.148622</td> #> <td>6.3</td> #> </tr> #> <tr> #> <td>7558</td> #> <td>3930.66</td> #> <td>0.183312</td> #> <td>6.3</td> #> </tr> #> <tr> #> <td>7352</td> #> <td>3869.32</td> #> <td>0.117063</td> #> <td>6.3</td> #> </tr> #> <tr> #> <td>7943</td> #> <td>3948.54</td> #> <td>0.122417</td> #> <td>17.1</td> #> </tr> #> <tr> #> <td>7979</td> #> <td>4010.15</td> #> <td>0.167045</td> #> <td>17.1</td> #> </tr> #> </table>#> Warning: invalid factor level, NA generated#> [,1] [,2] [,3] [,4] #> [1,] "Cars" "mpg" "cyl" "disp" #> [2,] "Mazda RX4" "21" "6" "160" #> [3,] "Mazda RX4 Wag" "21" "6" "160" #> [4,] "Datsun 710" "22.8" "4" "108" #> [5,] "Hornet 4 Drive" "21.4" "6" "258" #> [6,] "Hornet Sportabout" "18.7" "8" "360" #> [7,] "Valiant" "18.1" "6" "225" #> [8,] "Duster 360" "14.3" "8" "360" #> [9,] "Merc 240D" "24.4" "4" "146.7" #> [10,] "Merc 230" "22.8" "4" "140.8" #> [11,] "Merc 280" "19.2" "6" "167.6"#> <table> #> <figcaption class="tab"> Part of the cars data set. #> </figcaption> #> <tr> #> <th>Cars</th> #> <th>mpg</th> #> <th>cyl</th> #> <th>disp</th> #> </tr> #> <tr> #> <td>Mazda RX4</td> #> <td>21</td> #> <td>6</td> #> <td>160</td> #> </tr> #> <tr> #> <td>Mazda RX4 Wag</td> #> <td>21</td> #> <td>6</td> #> <td>160</td> #> </tr> #> <tr> #> <td>Datsun 710</td> #> <td>22.8</td> #> <td>4</td> #> <td>108</td> #> </tr> #> <tr> #> <td>Hornet 4 Drive</td> #> <td>21.4</td> #> <td>6</td> #> <td>258</td> #> </tr> #> <tr> #> <td>Hornet Sportabout</td> #> <td>18.7</td> #> <td>8</td> #> <td>360</td> #> </tr> #> <tr> #> <td>Valiant</td> #> <td>18.1</td> #> <td>6</td> #> <td>225</td> #> </tr> #> <tr> #> <td>Duster 360</td> #> <td>14.3</td> #> <td>8</td> #> <td>360</td> #> </tr> #> <tr> #> <td>Merc 240D</td> #> <td>24.4</td> #> <td>4</td> #> <td>146.7</td> #> </tr> #> <tr> #> <td>Merc 230</td> #> <td>22.8</td> #> <td>4</td> #> <td>140.8</td> #> </tr> #> <tr> #> <td>Merc 280</td> #> <td>19.2</td> #> <td>6</td> #> <td>167.6</td> #> </tr> #> </table># These table class are assumed to be defined in a css file as # follow. # td.red { color: #CC0000; } # td.blue { color: #0000CC; } # td.shade { background-color: #CCCCCC; } # td.line { border-bottom: 1px solid #000000; } # td.bold { font-weight: bold; } # td.italic { font-style: italic; } sty <- c("<th align=\"center\">%s</th>", "<tr>\n%s\n</tr>\n", "<td align=\"center\">%s</td>", "<td align=\"center\" class=\"red\">%s</td>", "<td align=\"center\" class=\"blue line\">%s</td>", "<td align=\"center\" class=\"shade\">%s</td>", "<td align=\"center\" class=\"line\">%s</td>", "<td align=\"center\" class=\"bold shade\">%s</td>", "<td align=\"center\" class=\"italic blue\">%s</td>") # Which style for which cell table. idx <- 0L * row(x) + 3L idx[3, ] <- 4L idx[4, ] <- 5L idx[5, ] <- 6L idx[7, ] <- 7L idx[8, ] <- 8L idx[9, ] <- 9L idx[, 3] <- 3L idx[1, ] <- 1L m2h <- matrix2html(x = x, styles = sty, indexes = idx, caption = "Part of the cars data set.") cat(m2h)#> <table> #> <figcaption class="tab"> Part of the cars data set. #> </figcaption> #> <tr> #> <th align="center">Cars</th> #> <th align="center">mpg</th> #> <th align="center">cyl</th> #> <th align="center">disp</th> #> </tr> #> <tr> #> <td align="center">Mazda RX4</td> #> <td align="center">21</td> #> <td align="center">6</td> #> <td align="center">160</td> #> </tr> #> <tr> #> <td align="center" class="red">Mazda RX4 Wag</td> #> <td align="center" class="red">21</td> #> <td align="center">6</td> #> <td align="center" class="red">160</td> #> </tr> #> <tr> #> <td align="center" class="blue line">Datsun 710</td> #> <td align="center" class="blue line">22.8</td> #> <td align="center">4</td> #> <td align="center" class="blue line">108</td> #> </tr> #> <tr> #> <td align="center" class="shade">Hornet 4 Drive</td> #> <td align="center" class="shade">21.4</td> #> <td align="center">6</td> #> <td align="center" class="shade">258</td> #> </tr> #> <tr> #> <td align="center">Hornet Sportabout</td> #> <td align="center">18.7</td> #> <td align="center">8</td> #> <td align="center">360</td> #> </tr> #> <tr> #> <td align="center" class="line">Valiant</td> #> <td align="center" class="line">18.1</td> #> <td align="center">6</td> #> <td align="center" class="line">225</td> #> </tr> #> <tr> #> <td align="center" class="bold shade">Duster 360</td> #> <td align="center" class="bold shade">14.3</td> #> <td align="center">8</td> #> <td align="center" class="bold shade">360</td> #> </tr> #> <tr> #> <td align="center" class="italic blue">Merc 240D</td> #> <td align="center" class="italic blue">24.4</td> #> <td align="center">4</td> #> <td align="center" class="italic blue">146.7</td> #> </tr> #> <tr> #> <td align="center">Merc 230</td> #> <td align="center">22.8</td> #> <td align="center">4</td> #> <td align="center">140.8</td> #> </tr> #> <tr> #> <td align="center">Merc 280</td> #> <td align="center">19.2</td> #> <td align="center">6</td> #> <td align="center">167.6</td> #> </tr> #> </table>