James Owers
James Owers

Reputation: 8335

R markdown table with a caption

I'm trying to create a table outside of a code chunk using normal markdown notation and to add a caption to it. Here's an example file (taken from here:

---
output: pdf_document
---

| First Header  | Second Header | Third Header         |
| :------------ | :-----------: | -------------------: |
| First row     | Data          | Very long data entry |
| Second row    | **Cell**      | *Cell*               |
| Third row     | Cell that spans across two columns  ||
[Table caption, works as a reference][section-mmd-tables-table1]

This unfortunately produces a rather sad string: Non-table sadness with caption

Removing the caption line in square brackets produces the table fine (but without the caption, obviously): Nice table no caption

This can be achieved if I made my data into an actual data.frame and used kable as shown here but I'm looking to avoid having to do this.

Upvotes: 27

Views: 38754

Answers (1)

Chris C
Chris C

Reputation: 1655

The linked guide refers to MultiMarkdown, while RMarkdown uses Pandocs. Captions work a little bit differently in Pandoc. The following should do the trick. The syntax is Table: followed by your caption; Pandocs numbers automatically. Leave one line blank between the end of the table and the caption line.

---
output: pdf_document
---

| First Header  | Second Header | Third Header         |
| :------------ | :-----------: | -------------------: |
| First row     | Data          | Very long data entry |
| Second row    | **Cell**      | *Cell*               |
| Third row     | Cell that spans across two columns  ||

Table: Your Caption

Upvotes: 66

Related Questions