Last updated: 2020-09-12

Checks: 7 0

Knit directory: r4ds_book/

This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.

Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20200814) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version a47f1a3. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:

Ignored files:
    Ignored:    .Rproj.user/

Untracked files:
    Untracked:  analysis/images/
    Untracked:  code_snipp.txt

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.

These are the previous versions of the repository in which changes were made to the R Markdown (analysis/html_learnings.Rmd) and HTML (docs/html_learnings.html) files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
Rmd a47f1a3 sciencificity 2020-09-12 completed ggplot exercises
html 720a89b sciencificity 2020-09-02 Build site.
html 4612bb8 sciencificity 2020-09-02 Build site.
Rmd 7305596 sciencificity 2020-09-02 added new misc section

The web was built to allow humans to share content even though our computers are different from each other.

This is made possible by 3 different programming languages each doing a part of the job.


HTML marks up the content of a site.

  • It tells the users computer what things are.
  • It gives access to built in functionality of the browser that you can harness as a developer.
  • Its all declarations.
  • HTML can take a lot of abuse but still work.


CSS stands for Cascading Style Sheets

  • Provides visual styling and layout for everything on a web page.
  • Makes each page look the way it looks - colour, typography and size.
  • Can add simple interactions and animations through CSS.
  • If something goes wrong in CSS the browser will skip just that section of code and not apply that styling, but it will apply all the rest.


JavaScript is a programming language that provides the ability to create more powerful interactivity.

  • Most powerful
  • Used to make more interactive sites
  • Also most fragile - if something goes wrong / browser too old to know what the code means the browser will stop. It gives up. It does not guess what to do.


  1. Tags come in pairs <opening tag> xxxx </closing tag>

This is a paragraph

This is a headline

This is a paragraph

This is a paragraph with some text that is emphasised for effect.

Bold and Italics

There are 2 tags for bold and 2 tags for italics. But why?


Take the sentence:

My favourite show is Sesame Street.

  • favourite show is emphasised here because it has a strong sentiment attached. Verbally emphasised <em> tag here for emphasis italics.
  • Sesame Street is however emphasised because it is the name of the show. Visually emphasised <i> tag here for visual-only italics.

We’re conveying semantic meaning here, and these provide very different results for anyone listening to the content.

My favourite character from Sesame Street is Grover.


  1. The <strong> suggests importance, urgency, or seriousness. Like the <em> tag it conveys meaning, there is an alternative voice / mood here.
  2. The <b> tag is instead like the <i> tag, it is used for visual emphasis. There isn’t a change in mood when using this tag.

WARNING! Do not be late.

This is a paragraph of text. We want people to be able to scan it relatively quickly, but we also want to mark certain sections with some boldness so that it has some visual attention for the reader.


There are 3 types of lists. We use lists on the web for things that don’t even look like lists - e.g. Navigation bars is a list of links.

  1. Unordered lists
  2. Ordered lists
  3. Definition lists
  • <li> stands for list item
  • <ul> stands for unordered list and we wrap the entire list of items in this tag.

  • sessionInfo()
    R version 3.6.3 (2020-02-29)
    Platform: x86_64-w64-mingw32/x64 (64-bit)
    Running under: Windows 10 x64 (build 18363)
    Matrix products: default
    [1] LC_COLLATE=English_South Africa.1252  LC_CTYPE=English_South Africa.1252   
    [3] LC_MONETARY=English_South Africa.1252 LC_NUMERIC=C                         
    [5] LC_TIME=English_South Africa.1252    
    attached base packages:
    [1] stats     graphics  grDevices utils     datasets  methods   base     
    other attached packages:
    [1] workflowr_1.6.2
    loaded via a namespace (and not attached):
     [1] Rcpp_1.0.4.6    rprojroot_1.3-2 digest_0.6.25   later_1.0.0    
     [5] R6_2.4.1        backports_1.1.6 git2r_0.26.1    magrittr_1.5   
     [9] evaluate_0.14   stringi_1.4.6   rlang_0.4.7     fs_1.4.1       
    [13] promises_1.1.0  whisker_0.4     rmarkdown_2.1   tools_3.6.3    
    [17] stringr_1.4.0   glue_1.4.1      httpuv_1.5.2    xfun_0.13      
    [21] yaml_2.2.1      compiler_3.6.3  htmltools_0.5.0 knitr_1.28