+ - 0:00:00
Notes for current slide
Notes for next slide

trackdown

Collaborative writing through literate programming in R


@TASK4-2021 - 19/05/2021

Filippo Gambarota1

Claudio Zandonella Callegher1

Janosch Linkersdörfer2

Mathew Ling3

Emily Kothe3

[1] University of Padova

[2] University of California

[3] Deakin University

1 / 33

A normal academic day...

2 / 33

Writing

3 / 33

Writing

  • Writing bibliography


  • Copy and paste statistics and results 😱


  • Tables and figures 😱


  • Collaboration
3 / 33

What about collaboration and file versions?

4 / 33

Is there a solution? 😱

5 / 33

YES!
Literate programming 😍

6 / 33
7 / 33

Code

# Plotting
plot(data)
# Computing mean
mean(data$response)
# Statistics
t.test(response ~ condition)
7 / 33

Code

# Plotting
plot(data)
# Computing mean
mean(data$response)
# Statistics
t.test(response ~ condition)

Text

7 / 33

Code

# Plotting
plot(data)
# Computing mean
mean(data$response)
# Statistics
t.test(response ~ condition)

Text

These components are usually separated...

7 / 33

Literate programming...

Is a combination of text and code in order to produce high-quality, reproducible and scalable documents.

8 / 33

An example...

9 / 33

An example...

10 / 33

This is great! But what about collaboration?

11 / 33

Literate programming as asynchronus process...

12 / 33

Literate programming as asynchronus process...

13 / 33

Collaboration on plain text files

14 / 33

The gold standard way to collaborate on plain text files is using a version control system:

  • Avoid multiple file version tracking a history


  • Professional way to manage projects with multiple people


  • Not intuitive and very different from a standard workflow
15 / 33

GIT is powerful but tracking narrative is hard

Word-like approach

GIT Diff

16 / 33

In an ideal world...

17 / 33

In an ideal world...

  • Work using a literate programming framework
  • Collaborate on plain text files similarly as we usually do with Word or Google Docs



This is the aim of the trackdown package

18 / 33

The big picture...

19 / 33

The big picture...

20 / 33

The trackdown package

21 / 33

The trackdown package

22 / 33

A suggested workflow

23 / 33

A suggested workflow

24 / 33

How a trackdown file looks like?

25 / 33

How a trackdown file looks like?

26 / 33

How a trackdown file looks like?

26 / 33

How a trackdown file looks like?

26 / 33

Also the final output

  • With the upload_file() function is possible to also upload the output document as .pdf or .html

27 / 33

Other advantages of the plain-text + Google Docs approach

28 / 33

Other advantages of the plain-text + Google Docs approach

29 / 33

Other advantages of the plain-text + Google Docs approach

  • Collaboration with colleagues with a heterogeneous background while keeping all advantages of a knitr based document
29 / 33

Other advantages of the plain-text + Google Docs approach

  • Collaboration with colleagues with a heterogeneous background while keeping all advantages of a knitr based document


  • Spell checking using standard tools available online (not completely possible in RStudio)


29 / 33

Other advantages of the plain-text + Google Docs approach

  • Collaboration with colleagues with a heterogeneous background while keeping all advantages of a knitr based document


  • Spell checking using standard tools available online (not completely possible in RStudio)


  • All amazing collaboration tools available in Google Docs (comments, assignments, history, auto-saving, etc.)
29 / 33

Check our repo on Github...

ClaudioZandonella/trackdown

30 / 33

A special thanks to Psicostat members...

Check our website 😄

32 / 33



filippo.gambarota@phd.unipd.it



Slides made with the Xaringan package by Yihui Xie

33 / 33

A normal academic day...

2 / 33
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow