Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

htable

The goal of htable is to easily and transparently translate R data.frames into styled HTML tables.

Installation

Make sure to build with vignettes to view examples of styling the tables.

# install.packages("devtools")
devtools::install_github("fazetu/htable", build_vignettes = TRUE)

Examples

library(htable)
ex <- data.frame(
  A = 1:10,
  B = 10:1,
  C = -4:5,
  D = letters[1:10],
  E = c(1, NA, 2, NA, 3, NA, 4, NA, 5, NA),
  Pct = runif(10),
  Big = 100000:100009,
  Money = c(100, 200, -100, -200, 1000.11, 2000.22, -1000.11, -2000.22, 0, 0.11),
  stringsAsFactors = FALSE
)

First create the HTable object in one of two ways:

# ht <- HTable$new(ex)
ht <- htable(ex)

To get the HTML for this table:

ht$render()
#> [1] "<table style='margin-left:auto;margin-right:auto;'><thead><tr><th><div>A</div></th><th><div>B</div></th><th><div>C</div></th><th><div>D</div></th><th><div>E</div></th><th><div>Pct</div></th><th><div>Big</div></th><th><div>Money</div></th></tr></thead><tbody><tr><td><div>1</div></td><td><div>10</div></td><td><div>-4</div></td><td><div>a</div></td><td><div>1</div></td><td><div>0.98766976268962</div></td><td><div>100000</div></td><td><div>100</div></td></tr><tr><td><div>2</div></td><td><div>9</div></td><td><div>-3</div></td><td><div>b</div></td><td><div>NA</div></td><td><div>0.83207360515371</div></td><td><div>100001</div></td><td><div>200</div></td></tr><tr><td><div>3</div></td><td><div>8</div></td><td><div>-2</div></td><td><div>c</div></td><td><div>2</div></td><td><div>0.313282870454714</div></td><td><div>100002</div></td><td><div>-100</div></td></tr><tr><td><div>4</div></td><td><div>7</div></td><td><div>-1</div></td><td><div>d</div></td><td><div>NA</div></td><td><div>0.487539564725012</div></td><td><div>100003</div></td><td><div>-200</div></td></tr><tr><td><div>5</div></td><td><div>6</div></td><td><div>0</div></td><td><div>e</div></td><td><div>3</div></td><td><div>0.233070042915642</div></td><td><div>100004</div></td><td><div>1000.11</div></td></tr><tr><td><div>6</div></td><td><div>5</div></td><td><div>1</div></td><td><div>f</div></td><td><div>NA</div></td><td><div>0.515593397431076</div></td><td><div>100005</div></td><td><div>2000.22</div></td></tr><tr><td><div>7</div></td><td><div>4</div></td><td><div>2</div></td><td><div>g</div></td><td><div>4</div></td><td><div>0.0739094286691397</div></td><td><div>100006</div></td><td><div>-1000.11</div></td></tr><tr><td><div>8</div></td><td><div>3</div></td><td><div>3</div></td><td><div>h</div></td><td><div>NA</div></td><td><div>0.552099404623732</div></td><td><div>100007</div></td><td><div>-2000.22</div></td></tr><tr><td><div>9</div></td><td><div>2</div></td><td><div>4</div></td><td><div>i</div></td><td><div>5</div></td><td><div>0.715031072264537</div></td><td><div>100008</div></td><td><div>0</div></td></tr><tr><td><div>10</div></td><td><div>1</div></td><td><div>5</div></td><td><div>j</div></td><td><div>NA</div></td><td><div>0.521291874814779</div></td><td><div>100009</div></td><td><div>0.11</div></td></tr></tbody></table>"

To write the HTML to a file:

ht$writeLines("table.html")

In an RMarkdown document, include in your chunk settings results="asis" in order to get the actual HTML table to render. This chunk has results="asis".

ht$Rmd()

A

B

C

D

E

Pct

Big

Money

1

10

-4

a

1

0.98766976268962

100000

100

2

9

-3

b

NA

0.83207360515371

100001

200

3

8

-2

c

2

0.313282870454714

100002

-100

4

7

-1

d

NA

0.487539564725012

100003

-200

5

6

0

e

3

0.233070042915642

100004

1000.11

6

5

1

f

NA

0.515593397431076

100005

2000.22

7

4

2

g

4

0.0739094286691397

100006

-1000.11

8

3

3

h

NA

0.552099404623732

100007

-2000.22

9

2

4

i

5

0.715031072264537

100008

0

10

1

5

j

NA

0.521291874814779

100009

0.11

When not working in an RMarkdown file, use the View() method to see the rendered HTML table.

ht$View()

For examples on how to style the tables, see the vignette.

vignette("htable", package = "htable")

Releases

Packages

Used by

Contributors

Languages