forked from reprohack/reprohack-template-shiny
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.Rmd
237 lines (151 loc) · 8.99 KB
/
index.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
---
title: "PyData LA 2019"
output:
html_document:
theme: flatly
css: reprohack.css
params:
title: "PyData LA 2019 / Neal Fultz"
room_location: "Golden Eagle Ballroom 3"
address: "CSU Los Angeles"
date: "3rd Dec 2019"
time: "12.30pm-17:30pm"
bannerurl: "https://github.com/reprohack/reprohack-hq/raw/master/assets/reprohack-banner.png"
latitude: 34.0675241
longitude: -118.1687638
registration_url: https://www.eventbrite.com/e/pydata-la-2019-tickets-66383126719
hackpad_url: https://hackmd.io/5H7o9ejrRD25woxRKdgVBA
submission_url: https://docs.google.com/forms/d/e/1FAIpQLSe_-r2gdg0VVxr8F2cWs1tgBtNkhVzM6JyGDdaIoa32BQJn8Q/viewform
feedback_url: https://docs.google.com/forms/d/e/1FAIpQLScWdrSZLzb5KpIf2ZoSbwJEyD22A4E_58okaBbWrdc5x1tNMw/viewform
paper_shinyapp_url: https://njnm.shinyapps.io/reprohack-awesome-conf
reprohack_repo_url: https://github.com/njnmco/reprohack-pydatala-2019-12-03
submission_form_title: ReproHack Paper Submission Form - PyData 2019
runtime: shiny
---
![](`r params$bannerurl`)
# **ReproHack @ `r params$title`**
## _A hands-on Reproducibility Hackathon_
<br>
#### **`r shiny::icon("clock")` `r params$time`**
#### **`r shiny::icon("calendar")` `r params$date`**
#### **`r shiny::icon("map-marker-alt")` `r params$room_location`**
#### **`r shiny::icon("map-marked-alt")` `r params$address`**
```{r, echo = F, results='asis'}
if(!is.null(params$registration_url)){
cat(paste0("### [**REGISTER**](", params$registration_url, ")"))
}
```
[![Gitter](https://badges.gitter.im/reprohack/community.svg)](https://gitter.im/reprohack/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
##### [workshop repository](`r params$reprohack_repo_url`): containing details for participants
***
# **Welcome `r emo::ji("wave")` **
We are all excited by the progress made by many authors to **make their papers reproducible by publishing associated code and data**.
We know how challenging it can be so we **want to showcase the value of the practice**, both for original authors and as a learning experience for those who attempt to reproduce the work.
## **Event format**:
During a ReproHack, **participants attempt to reproduce published research of their choice from a list of proposed papers with publicly available associated code and data**. Participants get to work with other people's material in a low pressure environment and record their experiences on a number of key aspects, including reproducibility, transparency and reusability of materials. At the end of the day we regroup, share our experiences and give feedback to the authors.
It's imperative to note that **ReproHacks are by no means an attempt to criticise or discredit work**. We see reproduction as **beneficial scientific activity in itself**, with useful outcomes for authors and valuable learning experiences for the participants and the research community as a whole.
***
## **Ways to participate**
<br>
### `r shiny::icon("newspaper")` **Propose a paper**
##### You've put a lot of effort into making your work reproducible. Now let people learn from and engage with it!
Benefits to authors:
- **Feedback** on the reproducibility of your work.
- **Appreciation** for your efforts in making your work reproducible.
- Opportunity to **engage others with your research**.
<br>
### `r shiny::icon("redo-alt")` **Reproduce**
##### Join us at the ReproHack and get working with other people's material.
Benefits to participants:
- **Practical experience in reproducibility** with real published materials and the opportunity to explore different tools and strategies.
- **Inspiration** from working with other people’s code and data.
- An appreciation that **reproducibility is non trivial** but that opening up your work for more people to engage with is the best way to help improve it.
- An appreciation that **reproducibility has community value beyond just the validation of the results**. For example, access to such materials increases the potential for reuse and understanding of the work.
**Benefits to the whole research community:**
- Assessment of how reproducible papers are ‘out of the box’.
- Evaluation of how successful current practices are and for what purpose.
- Identification of what works and where the most pressing weaknesses in our approaches are.
<br>
Keep track of discussions and links to any outputs from our sessions on the event [**hackpad**](`r params$hackpad_url`)
***
# **PROPOSE**
### **Nominate a paper for Reproduction:**
We invite nominations for papers that have both associated **code** and **data** publicly available. We also encourage analyses based on open source tools as we cannot guarantee participants will have access to specialised licenced software.
```{r, echo=FALSE}
library("shiny")
wellPanel(a("Nominate Paper", class = "btn btn-primary btn-md",
href = params$submission_url))
```
## **Proposed papers:**
<br>
```{r, echo=FALSE, message=FALSE, warning=FALSE, eval=require('googlesheets4')}
library(googlesheets4)
options(gargle_oauth_cache = ".secrets")
```
```{r, echo=FALSE}
print_contact_links <- function(responses, i){
row <- responses[i, ]
twitter <- if(!is.na(row[,"Twitter handle (optional)"])){
twitter_url <- paste0("https://twitter.com/", gsub(" *@ *", "", row[,"Twitter handle (optional)"]))
paste0("[<i class='fa fa-twitter'/>](", twitter_url,")")}else{NULL}
github <- if(!is.na(row[,"GitHub username (optional)"])){
github_url <- paste0("https://github.com/", gsub(" *@ *", "", row[,"GitHub username (optional)"]))
paste0("[<i class='fa fa-github'/>](", github_url,")")}else{NULL}
feedback <- if(row[, "Would you like to receive a copy of any feedback on the paper?"] == "Yes"){
"<i class='fa fa-comment-dots'/>"}else{NULL}
public <- if(row[,"Can feedback on your paper be made public?"] == "Yes"){
"<i class='fa fa-globe'/>"}else{NULL}
return(paste(twitter, github, feedback, public))
}
```
```{r, message=FALSE, results='asis', warning=FALSE, echo=FALSE}
responses_gs <- sheets_find(paste(params$submission_form_title))
responses <- sheets_read(responses_gs)
if(nrow(responses) > 0){
for(i in 1:nrow(responses)){
cat('\n')
cat('\n')
cat('\n')
cat("### **", i,". ", as.character(responses[i, "Paper title"]), "**", "\n", "\n", sep = "")
cat("**", gsub("\n", "", gsub("[*]", "", as.character(responses[i, "Paper citation"]))), "\n**", "\n", "\n", sep = "")
cat("##### *submitted by ", as.character(responses[i, "Name"]), print_contact_links(responses, i), "*", "\n")
cat('\n')
cat('\n')
cat("**Why should we attempt to reproduce this paper?**", "\n", "\n")
cat(as.character(responses[i, "Why should we attempt to reproduce this paper?"]), "\n")
cat('\n')
cat("**Paper URL:** [", as.character(responses[i, "Paper URL"]),"](",as.character(responses[i, "Paper URL"]) ,")", "\n")
cat('\n')
cat("**Data URL:**", as.character(responses[i, "Data URL"]), "\n")
cat('\n')
cat("**Code URL:**", as.character(responses[i, "Code URL"]), "\n")
cat('\n', "\n")
cat("**Useful programming skills:**", as.character(responses[i, "Useful programming skills"]), "\n")
cat('\n', "\n",'\n')
}
}
```
```{r, echo=FALSE}
wellPanel(a("Refresh proposal list", class = "btn btn-primary btn-md",
href = "javascript:history.go(0)"))
```
***
### Event location
```{r out.width='100%', fig.height=6, eval=require('leaflet'), echo=FALSE}
library(leaflet)
leaflet() %>% addTiles() %>% setView(params$longitude, params$latitude, zoom = 17) %>%
addMarkers(params$longitude, params$latitude)
```
***
### ReproHack History
ReproHacks were inspired by **Owen Petchey's** [**Reproducible Research in Ecology, Evolution, Behaviour, and Environmental Studies course**](https://github.com/opetchey/RREEBES), where students attempt to reproduce the analyses and figures of a paper from the raw data. We wanted to attempt to do the same but, while they take a few months over a number of sessions, for our first event we only had one day. So to condense that activity into one day we set the challenge to be: **reproduce results from published data AND code**.
We've run **two ReproHacks so far** as part of satellite OpenCon events (Berlin 2016, [London 2017](https://rse.shef.ac.uk/blog/opencon-london/)) with **a [series of them planned for 2019-2020](https://rse.shef.ac.uk/blog/ssi-fellowships-2019/) using funding provided through the [Software Sustainability Institute Fellowship programme](https://www.software.ac.uk/blog/2019-04-11-announcing-2019-software-sustainability-institute-fellows)**.
#### If you would like to host a ReproHack at your institution please get in touch!
***
<div class="pull-left">
### Get in touch
Chat to us on [**gitter**](https://gitter.im/reprohack/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) or email [[email protected]](mailto:[email protected]).
</div>
<div class="pull-right">
<img src="https://www.software.ac.uk/sites/default/files/images/content/SSI_Big300dpi.png" height="100px" width="300px">
</div>