Knit early. Knit often.

The following section makes more sense in the code than in the html

Insert an R code chunk by using the insert button above. Shortcut keys Ctrl+Alt+i should create a chunk but if not, this can be set by choosing your own shortcut in Tools/Keyboard Shortcuts Help.

A code chunk looks like this:

You can name a chunk (optional), like so

The next chunk should be familiar; it’s the code to import the beds data. Code has been copied across but code can be written directly into the chunk.

Knit the file

By clicking on the drop down menu beside the Knit button, a document will be generated (note: first time you do this, you’ll be prompted to name your file. Try “test_rmarkdown”). As PDF requires additional installations, we will knit to HTML (web page) for now, which is the default and also better for accessbility.

Text

Markdown formatting

You can play with headers that get smaller

You can play with headers - and smaller

You can play with headers - and smaller

You can play with headers - and smallest

You can make a line make a line break


You can do all the normal italics or italics and bold and superscript and strike-though

Things like block quotes look for quotes
works really well if split over several lines

Other things that are useful to code:

  • lists
  • putting stuff in lists
    • putting stuff in sub lists
    • such as this
  • did I say lists?

You can also do numbered lists

  1. Like this
  2. Fine example of a list
    • and do sub lists in a numbered list
      1. and do sub sub lists
        A. and sub sub sub list

Write some stuff in the middle of your list

  1. and then go back to the list
  2. NOTE: the numbers in the list are not specified, they are dynamic and if you go and edit one out it will adjust them automatically

You can colour in a block to assist with highlighting an area.

  • This is my first conclusion
  • This is my second conclusion

You can add footnotes1

Plotting Mental Health bed availabilty

If the chunk is run (not knitted), the plot will be displayed in line with the code (i.e. below the chunk).

Note the button to the left of “play” will run all the previous chunks above the current one.

You may want to show your code, either in the html reports or presentation slides. As the settings have been set globally you can set any chunk to deviate from the global:

# echo=TRUE means show this code
# eval=FALSE means don't check this code. As it is a chunk that won't run correctly, eval=TRUE would result in an error.

ggplot(beds_ts) +
  geom_line(aes(date, mean_beds)) +
  geom_point(aes(date, mean_beds)) +
# This code hasn't been finished.

This chunk refers to the previous chunk code and shows the code but not the chart. Just note the name of the chunk is made into a string with "" quotes.

ggplot(beds_ts) +
  geom_line(aes(date, mean_beds))+
  geom_point(aes(date, mean_beds))+
  ylim(0, 350)

Acknowledgements

I combined Andrew Jones’s original RMarkdown training report with some of Simon Wellesley-Miller’s code for this RMarkdown example report. I thoroughly recommend running Simon’s more detailed RMarkdown to learn more, as this is just a brief introduction.


  1. This is the footnote from the footnote added way way up above↩︎

LS0tCnRpdGxlOiAiSW50cm9kdWN0aW9uIHRvIFJNYXJrZG93biIKZGF0ZTogImByIGZvcm1hdChTeXMudGltZSgpLCAnJWQgJUIgJVknKWAiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgY29kZV9kb3dubG9hZDogeWVzCiAgICB0b2M6IHRydWUKICAgIHRvY19kZXB0aDogNAogICAgdG9jX2Zsb2F0OiB0cnVlCi0tLQoKYGBge3Igc2V0dXAsIGluY2x1ZGUgPSBGQUxTRX0KbGlicmFyeShrbml0cikKbGlicmFyeSh0aWR5dmVyc2UpCgpvcHRzX2NodW5rJHNldCgKICBlY2hvID0gRkFMU0UsCiAgZXZhbCA9IEZBTFNFLAogIG1lc3NhZ2UgPSBGQUxTRSwKICB3YXJuaW5nID0gRkFMU0UsCiAgZmlnLndpZHRoID0gNy4yNTIsCiAgZmlnLmhlaWdodCA9IDQsCiAgZHBpID0gMzAwLAogIGRldi5hcmdzID0gbGlzdCh0eXBlID0gImNhaXJvIikKKQpgYGAKCgojIEtuaXQgZWFybHkuIEtuaXQgb2Z0ZW4uIAoKIyMgVGhlIGZvbGxvd2luZyBzZWN0aW9uIG1ha2VzIG1vcmUgc2Vuc2UgaW4gdGhlIGNvZGUgdGhhbiBpbiB0aGUgaHRtbAoKSW5zZXJ0IGFuIFIgY29kZSBjaHVuayBieSB1c2luZyB0aGUgKippbnNlcnQqKiBidXR0b24gYWJvdmUuIFNob3J0Y3V0IGtleXMgQ3RybCtBbHQraSBzaG91bGQgY3JlYXRlIGEgY2h1bmsgYnV0IGlmIG5vdCwgdGhpcyBjYW4gYmUgc2V0IGJ5IGNob29zaW5nIHlvdXIgb3duIHNob3J0Y3V0IGluIFRvb2xzL0tleWJvYXJkIFNob3J0Y3V0cyBIZWxwLgoKQSBjb2RlIGNodW5rIGxvb2tzIGxpa2UgdGhpczoKCgpgYGB7cn0KCiMgVGhpcyB3b24ndCBzaG93IGluIHRoZSBvdXRwdXQgZmlsZS4gTmFtaW5nIGNodW5rcyBjYW4gaGVscCB0byBsb2NhdGUgc2VjdGlvbnMuCgpgYGAKCllvdSBjYW4gbmFtZSBhIGNodW5rIChvcHRpb25hbCksIGxpa2Ugc28gCgpgYGB7ciBuYW1lLW9mLWNodW5rfQoKIyBKdXN0IGVuc3VyZSB0aGUgbmFtZXMgYXJlIGRpZmZlcmVudCBvciBpdCB3b24ndCBydW4uIFNwYWNlcyBhcmUgb2ssIGJ1dCBub3QgdW5kZXJzY29yZXMgYmV0d2VlbiB3b3JkcwoKYGBgCgpUaGUgbmV4dCBjaHVuayBzaG91bGQgYmUgZmFtaWxpYXI7IGl0J3MgdGhlIGNvZGUgdG8gaW1wb3J0IHRoZSBiZWRzIGRhdGEuIENvZGUgaGFzIGJlZW4gY29waWVkIGFjcm9zcyBidXQgY29kZSBjYW4gYmUgd3JpdHRlbiBkaXJlY3RseSBpbnRvIHRoZSBjaHVuay4gIAoKYGBge3IgbG9hZC1kYXRhfQoKYmVkc19kYXRhIDwtIHJlYWRfY3N2KHVybCgiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL25ocy1yLWNvbW11bml0eS9pbnRyb19yX2RhdGEvbWFpbi9iZWRzX2RhdGEuY3N2IiksIGNvbF90eXBlcyA9IGNvbHMoZGF0ZSA9IGNvbF9kYXRlKGZvcm1hdCA9ICIlZC8lbS8lWSIpKSwgc2tpcCA9IDMpCgpgYGAKCiMjIEtuaXQgdGhlIGZpbGUKCkJ5IGNsaWNraW5nIG9uIHRoZSBkcm9wIGRvd24gbWVudSBiZXNpZGUgdGhlICoqS25pdCoqIGJ1dHRvbiwgYSBkb2N1bWVudCB3aWxsIGJlIGdlbmVyYXRlZCAobm90ZTogZmlyc3QgdGltZSB5b3UgZG8gdGhpcywgeW91J2xsIGJlIHByb21wdGVkIHRvIG5hbWUgeW91ciBmaWxlLiBUcnkgInRlc3Rfcm1hcmtkb3duIikuIEFzIFBERiByZXF1aXJlcyBhZGRpdGlvbmFsIGluc3RhbGxhdGlvbnMsIHdlIHdpbGwga25pdCB0byBIVE1MICh3ZWIgcGFnZSkgZm9yIG5vdywgd2hpY2ggaXMgdGhlIGRlZmF1bHQgYW5kIGFsc28gYmV0dGVyIGZvciBhY2Nlc3NiaWxpdHkuCgojIyMgVGV4dAoKIyBNYXJrZG93biBmb3JtYXR0aW5nCgojIyBZb3UgY2FuIHBsYXkgd2l0aCBoZWFkZXJzIHRoYXQgZ2V0IHNtYWxsZXIKCiMjIyBZb3UgY2FuIHBsYXkgd2l0aCBoZWFkZXJzIC0gYW5kIHNtYWxsZXIKCiMjIyMgWW91IGNhbiBwbGF5IHdpdGggaGVhZGVycyAgLSBhbmQgc21hbGxlcgoKIyMjIyMgWW91IGNhbiBwbGF5IHdpdGggaGVhZGVycyAgLSBhbmQgc21hbGxlc3QKCllvdSBjYW4gbWFrZSBhIGxpbmUgbWFrZSBhIGxpbmUgYnJlYWsKCioqKgoKWW91IGNhbiBkbyBhbGwgdGhlIG5vcm1hbCAqaXRhbGljcyogb3IgX2l0YWxpY3NfIGFuZCAqKmJvbGQqKiBhbmQgXnN1cGVyc2NyaXB0XiBhbmQgfn5zdHJpa2UtdGhvdWdofn4KCj4gVGhpbmdzIGxpa2UgYmxvY2sgcXVvdGVzIGxvb2sgZm9yIHF1b3RlcyAgCj4gd29ya3MgcmVhbGx5IHdlbGwgaWYgCj4gc3BsaXQgb3ZlciBzZXZlcmFsIGxpbmVzCgpPdGhlciB0aGluZ3MgdGhhdCBhcmUgdXNlZnVsIHRvIGNvZGU6CgoqIGxpc3RzCiogcHV0dGluZyBzdHVmZiBpbiBsaXN0cwogICsgcHV0dGluZyBzdHVmZiBpbiBzdWIgbGlzdHMKICArIHN1Y2ggYXMgdGhpcwoqIGRpZCBJIHNheSBsaXN0cz8KCllvdSBjYW4gYWxzbyBkbyBudW1iZXJlZCBsaXN0cwoKKEApIExpa2UgdGhpcwooQCkgRmluZSBleGFtcGxlIG9mIGEgbGlzdAogICAgKyBhbmQgZG8gc3ViIGxpc3RzIGluIGEgbnVtYmVyZWQgbGlzdAogICAgICBpKSBhbmQgZG8gc3ViIHN1YiBsaXN0cyAgCiAgICAgICAgQS4gYW5kIHN1YiBzdWIgc3ViIGxpc3QKCldyaXRlIHNvbWUgc3R1ZmYgaW4gdGhlIG1pZGRsZSBvZiB5b3VyIGxpc3QgICAgICAgIAogICAgICAgIAooQCkgYW5kIHRoZW4gZ28gYmFjayB0byB0aGUgbGlzdAooQCkgTk9URTogdGhlIG51bWJlcnMgaW4gdGhlIGxpc3QgYXJlIG5vdCBzcGVjaWZpZWQsIHRoZXkgYXJlIGR5bmFtaWMgYW5kIGlmIHlvdSBnbyBhbmQgZWRpdCBvbmUgb3V0IGl0IHdpbGwgYWRqdXN0IHRoZW0gYXV0b21hdGljYWxseQoKPHN0eWxlPgpkaXYuYmx1ZSB7IGJhY2tncm91bmQtY29sb3I6I2U2ZjBmZjsgYm9yZGVyLXJhZGl1czogNXB4OyBwYWRkaW5nOiAyMHB4O30KPC9zdHlsZT4KPGRpdiBjbGFzcyA9ICJibHVlIj4KCllvdSBjYW4gY29sb3VyIGluIGEgYmxvY2sgdG8gYXNzaXN0IHdpdGggaGlnaGxpZ2h0aW5nIGFuIGFyZWEuCgotIFRoaXMgaXMgbXkgZmlyc3QgY29uY2x1c2lvbgotIFRoaXMgaXMgbXkgc2Vjb25kIGNvbmNsdXNpb24gIAoKPC9kaXY+CgpZb3UgY2FuIGFkZCBmb290bm90ZXNbXjFdCgpbXjFdOlRoaXMgaXMgdGhlIGZvb3Rub3RlIGZyb20gdGhlIGZvb3Rub3RlIGFkZGVkIHdheSB3YXkgdXAgYWJvdmUKCgojIyMgUGxvdHRpbmcgTWVudGFsIEhlYWx0aCBiZWQgYXZhaWxhYmlsdHkgCgpJZiB0aGUgY2h1bmsgaXMgcnVuIChub3Qga25pdHRlZCksIHRoZSBwbG90IHdpbGwgYmUgZGlzcGxheWVkIGluIGxpbmUgd2l0aCB0aGUgY29kZSAoaS5lLiBiZWxvdyB0aGUgY2h1bmspLiAKCk5vdGUgdGhlIGJ1dHRvbiB0byB0aGUgbGVmdCBvZiAicGxheSIgd2lsbCBydW4gYWxsIHRoZSBwcmV2aW91cyBjaHVua3MgYWJvdmUgdGhlIGN1cnJlbnQgb25lLiAKCmBgYHtyIGJlZHMtcGxvdH0KCmJlZHNfdHMgPC0gYmVkc19kYXRhICU+JQogIGdyb3VwX2J5KGRhdGUpICU+JQogIHN1bW1hcmlzZSgKICAgIG1lYW5fYmVkcyA9IG1lYW4oYmVkc19hdiwgbmEucm0gPSBUKSkKCgpnZ3Bsb3QoYmVkc190cykgKwogIGdlb21fbGluZShhZXMoZGF0ZSwgbWVhbl9iZWRzKSkrCiAgZ2VvbV9wb2ludChhZXMoZGF0ZSwgbWVhbl9iZWRzKSkKCgpgYGAKCgpZb3UgbWF5IHdhbnQgdG8gc2hvdyB5b3VyIGNvZGUsIGVpdGhlciBpbiB0aGUgaHRtbCByZXBvcnRzIG9yIHByZXNlbnRhdGlvbiBzbGlkZXMuIEFzIHRoZSBzZXR0aW5ncyBoYXZlIGJlZW4gc2V0IGdsb2JhbGx5IHlvdSBjYW4gc2V0IGFueSBjaHVuayB0byBkZXZpYXRlIGZyb20gdGhlIGdsb2JhbDoKCgpgYGB7ciBvcHRpb25zLCBlY2hvPVRSVUUsIGV2YWw9RkFMU0V9CgojIGVjaG89VFJVRSBtZWFucyBzaG93IHRoaXMgY29kZQojIGV2YWw9RkFMU0UgbWVhbnMgZG9uJ3QgY2hlY2sgdGhpcyBjb2RlLiBBcyBpdCBpcyBhIGNodW5rIHRoYXQgd29uJ3QgcnVuIGNvcnJlY3RseSwgZXZhbD1UUlVFIHdvdWxkIHJlc3VsdCBpbiBhbiBlcnJvci4KCmdncGxvdChiZWRzX3RzKSArCiAgZ2VvbV9saW5lKGFlcyhkYXRlLCBtZWFuX2JlZHMpKSArCiAgZ2VvbV9wb2ludChhZXMoZGF0ZSwgbWVhbl9iZWRzKSkgKwojIFRoaXMgY29kZSBoYXNuJ3QgYmVlbiBmaW5pc2hlZC4KCmBgYAoKCmBgYHtyIG9wdGlvbnMxfQoKZ2dwbG90KGJlZHNfdHMpICsKICBnZW9tX2xpbmUoYWVzKGRhdGUsIG1lYW5fYmVkcykpKwogIGdlb21fcG9pbnQoYWVzKGRhdGUsIG1lYW5fYmVkcykpKwogIHlsaW0oMCwgMzUwKQoKYGBgCgpUaGlzIGNodW5rIHJlZmVycyB0byB0aGUgcHJldmlvdXMgY2h1bmsgY29kZSBhbmQgc2hvd3MgdGhlIGNvZGUgYnV0IG5vdCB0aGUgY2hhcnQuIApKdXN0IG5vdGUgdGhlIG5hbWUgb2YgdGhlIGNodW5rIGlzIG1hZGUgaW50byBhIHN0cmluZyB3aXRoICIiIHF1b3Rlcy4KCmBgYHtyIHJlZi5sYWJlbD0ib3B0aW9uczEiLCBlY2hvPVRSVUUsIGV2YWw9RkFMU0V9CiMgQ29tbWVudHMgZG9uJ3Qgc2hvdyB1cCBpbiB0aGUgaHRtbAoKYGBgCgojIyMjIEFja25vd2xlZGdlbWVudHMKCkkgY29tYmluZWQgQW5kcmV3IEpvbmVzJ3Mgb3JpZ2luYWwgW1JNYXJrZG93bl0oaHR0cHM6Ly9naXRodWIuY29tL25ocy1yLWNvbW11bml0eS9pbnRyb19yL2Jsb2IvbWFzdGVyL2ludHJvX3JtYXJrZG93bi5SbWQpIHRyYWluaW5nIHJlcG9ydCB3aXRoIHNvbWUgb2YgU2ltb24gV2VsbGVzbGV5LU1pbGxlcidzIGNvZGUgZm9yIHRoaXMgUk1hcmtkb3duIGV4YW1wbGUgcmVwb3J0LiBJIHRob3JvdWdobHkgcmVjb21tZW5kIHJ1bm5pbmcgU2ltb24ncyBtb3JlIGRldGFpbGVkIFtSTWFya2Rvd25dKGh0dHBzOi8vZ2l0aHViLmNvbS9TaW1vblctTS9NYXJrZG93bi9ibG9iL21haW4vUi1UcmFpbmluZy12NS5SbWQpIHRvIGxlYXJuIG1vcmUsIGFzIHRoaXMgaXMganVzdCBhIGJyaWVmIGludHJvZHVjdGlvbi4K