-
Notifications
You must be signed in to change notification settings - Fork 0
/
ItemDevelopment.Rmd
374 lines (272 loc) · 9.01 KB
/
ItemDevelopment.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
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
---
title: "ShareStats"
subtitle: Item Development
date: "19 jan 2022"
output:
revealjs::revealjs_presentation:
css: "style.css"
theme: white #simple #black
highlight: pygments
transition: slide #fade #slide
background_transition: slide
center: true
self_contained: false
---
```{r, echo=FALSE, eval=FALSE}
revealjs::revealjs_presentation:
css: "style.css"
theme: white #simple #black
highlight: pygments
transition: slide #fade #slide
background_transition: slide
center: true
self_contained: false
html_document:
toc: yes
toc_float: yes
pandoc_args: --output=ItemDevelopmentHandout.html
```
```{r, echo=FALSE}
# install.packages("exams", dependencies = TRUE)
library(exams)
```
#
```{r, echo=FALSE, fig.cap="ShareStats logo", out.width="20%"}
knitr::include_graphics("images/InfShareStatsSquare.png")
```
# Rstudio
```{r, echo=FALSE, fig.cap="Rstudio logo", out.width="20%"}
knitr::include_graphics("https://upload.wikimedia.org/wikipedia/commons/thumb/d/d0/RStudio_logo_flat.svg/1280px-RStudio_logo_flat.svg.png")
```
## Installation
- [Install R](https://www.google.com/search?rls=en&q=how+to+install+r&ie=UTF-8&oe=UTF-8)
- [Install Rstudio](https://www.google.com/search?rls=en&q=how+to+install+rstudio&ie=UTF-8&oe=UTF-8)
## The interface
- [Rstudio basics](https://bookdown.org/gary_a_napier/induction_-_introduction_to_r/rstudio-interface.html)
# The R/exams package
```{r, echo=FALSE, fig.cap="exams output", out.width="50%"}
knitr::include_graphics("http://www.r-exams.org/images/oneforall.svg")
```
## Relevant Resources
* [R/exams website](http://www.r-exams.org)
* [First Steps](http://www.r-exams.org/tutorials/first_steps/)
## Install R/exams
```{r, eval=FALSE}
install.packages("exams", dependencies = TRUE)
library(exams)
```
[R/Exams resources page here](http://www.r-exams.org/resources/).
# Procedure
Resource: Procedure item development in teams.
1. Go to project folder
2. Navigate to desired taxonomy level 1 folder
3. Create a new folder for each new item
4. Name your item following instruction
5. Check if items compile to HTML, PDF, etc.
6. Quality check
# Naming instruction
<small>
[abbreviation institution]-[lowest taxonomy level for item]-[nummber ###]-[nl/en]
</small>
All in small caps.
example:
* uva-regression-001-nl.Rmd
If available:
* uva-regression-001-nl-graph01.jpg
* uva-regression-001-nl-data01.sav
## Multiple languages
When you have an item in multiple languages, you can place them in the same item folder and alter the file name.
* uva-regression-001-**en**.Rmd
# Item types
There are five item types available in R ([Resource](http://www.r-exams.org/intro/dynamic/)).
* **Multiple choice:** `extype: schoice` (s: single)
* **Multiple answer:** `extype: mchoice` (m: multiple)
* **Fill in the blank numbers:** `extype: num`
* **Fill in the blank text/essay:** `extype: string`
* **Combinations:** `extype: cloze`
* Adding images and attachments
## General item structur
```{}
Question
========
Solution
========
Meta-information
================
exname:
extype:
exsolution:
exsection:
exextra[]:
```
## Multiple choice
```{}
Question
========
What is the average of the numbers 3, 5 and 7?
Answerlist
----------
* 4
* 5
* 6
Solution
========
The correct answer is 5.
Answerlist
----------
* You got it wrong
* Yes you got it
* This is the wrong answer
Meta-information
================
exname: Rekens som
extype: schoice
exsolution: 010
exsection: Descriptive statistics / Summary Statistics / Measures of Location/Mean
exextra[Type]: Calculation
```
## Multiple answer
```{}
Question
========
Which are parametric tests?
Answerlist
----------
* t-test
* signed-rank test
* ANOVA
Solution
========
The correct answer the ANOVA test
Answerlist
----------
* True. t-test
* False. signed rank test
* True. ANOVA
Meta-information
================
exname: parametric
extype: mchoice
exsolution: 101
exsection: Inferential Statistics / Non-parametric Techniques / Signed Rank test
exextra[Type]: Conceptual, Test choice
exextra[Language]: English
exextra[Level]: Statistical Reasoning
```
## Fill in the blank number
```{}
Question
========
What is the average of the numbers 3, 5 and 7?
Solution
========
The correct answer is 5.
Meta-information
================
exname: Rekens som
extype: num
exsolution: 5
extol: 0
exsection: Descriptive statistics / Summary Statistics / Measures of Location/Mean
exextra[Type]: Calculation
```
## Fill in the blank text/essay
```{}
Question
========
What statistical test do you need to test the difference between two independent groups, assuming all parametric assumptions are met?
Solution
========
The correct answer is independent t-test
Meta-information
================
exname: TestSelectionTtest
extype: string
exsolution: "independent t-test"
exsection: Inferential Statistics / Parametric Techniques/t-test / Independent samples means
exextra[Type]: Test choice
```
## Combinations
```{}
Question
========
Given are the following numbers: 1, 2, 3, 4, 5, 6.
Answerlist
----------
* What is the sample mean?
* What is the estimated population standard deviation?
Solution
========
Answerlist
----------
* The sample mean is 3.5.
* The estimated population standard deviation is 1.87.
Meta-information
================
exname: MeandAndSD
extype: cloze
exclozetype: num|num
exsolution: 3.5|1.870829
extol: 0.01
exextra[Type]: Calculate
```
## Adding images or attachments {.small}
Adding image or files to your question.
1. Add the image or file (.png .jpg .sav etc.) to the same folder as your question.
2. Add the code below at the top of your .Rmd file.
3. Add `![](myImage.png)` at location for image. Replace `myImage` with your own.
4. Add `[Download](myFile.xls)` at location for the download. Replace `myFile` with your own.
````markdown
`r ''````{r, echo = FALSE, results = "hide"}
include_supplement("myImage.png", recursive = TRUE)
```
````
# Adding meta information
## Statistics taxonomy
You can add the taxonomy to the `exsection` attribute in the meta information.
```{}
Meta-information
================
exsection: Descriptive statistics/Summary Statistics/Measures of Spread/Standard Deviation, Inferential Statistics/Parametric Techniques/t-test/One sample mean
```
* The [taxonomy tree can be found here](https://sharestats.github.io/Statistics_Taxonomy/Statistics_Taxonomy.html#Assigning_taxonomy).
* Multiple paths can be added by using a comma as seperator.
* Only add path that is most specific for the question.
* **New lines are not allowed**
## Adding Tags
You can add tags to the `exextra[]` attribute in the meta information.
```{}
Meta-information
================
exextra[Type]: Calculation, Data manipulation
exextra[Program]: SPSS
exextra[Language]: English
exextra[Level]: Statistical Literacy
```
* We have four categories that can be used [tag tab](https://sharestats.github.io/Statistics_Taxonomy/Statistics_Taxonomy.html#Assigning_taxonomy).
* Additional tags can be added. For example **G*Power** as a program. Though consult with your team leader first.
* Multiple tags can be added by using a comma as seperator.
* Type, Language and level are required. Only use Program when needed.
* **New lines are not allowed**
* level inherits the higher levels. So, **statistical thinking** implies Statistical Reasoning and Statistical Literacy.
# Using R packages
If a question Rmd-file calls a function from an imported package, please ensure that it's always clear from which particular package the function stems.
Ideally, you explicitly specify the source package for each call of an imported function. R has the double colon operator `::` for this and the syntax looks as follows `packages_name::function_name(..)`. For example, if you want to use the function `kable()` from the package `knitr`, please call `knitr::kable(...)`. By the way: an import of the package is in this case not anymore required.
Alternatively, you could always import all required packages in the Rmd-file (e.g. `library(knitr)`) and simply call the functions by their name (e.g. `kable(...)`). This method is however slightly more error-prone, because packages required for other questions might use the same function name and might thus cause conflicts between different questions.
# Compiling your item
## Check output
You are required to check if the developed items properly work. Run the `exams2html()` function as a simple fast check to test your .Rmd file.
In addition run the following functions to check if the PDF is compiled correctly and if all the meta information is added properly. $\LaTeX$ [must be installed](http:/www.r-exams.org/tutorials/latex) for the PDF function to work.
```{r, eval=FALSE}
# install the develpment version to use browse_excersise()
install.packages("exams", repos = "http://R-Forge.R-project.org", dependencies = TRUE, type = "source")
library(exams)
exams2html(file = "")
exams:::browse_exercise(file = "")
exams2pdf(file = "")
exams2pandoc(file = "")
```
# Quality check
## Procedure and Checklists
The quality procedure checklist can be downloaded below.
* NL: [kwaliteits checklijst](kwaliteitschecklijst.pdf)