Description Usage Arguments Details Value See Also Examples

A function for generating a single-choice question list for one correct numeric solution along with four wrong solutions.

1 2 3 |

`correct` |
numeric vector of length 1 with correct solution. |

`wrong` |
numeric vector (optional) with wrong solutions. |

`range` |
numeric vector of length 2 with range of random wrong solutions. |

`delta` |
numeric. Minimal distance between solutions. |

`digits` |
integer. Digits that should be displayed. |

`method` |
character specifying method for generating random results. |

`sign` |
logical. Should the sign be changed randomly? |

`verbose` |
logical. Should warnings be issued if no suitable set of wrong solutions can be found? |

The function `num_to_schoice`

(or equivalently `num2schoice`

)
can be used for generating a single-choice
question list for a numeric `correct`

solution. The question list
always comprises five elements, one of which is the correct solution. The
wrong solutions can be provided or are generated randomly. If `wrong`

is provided only up to 2 elements of it are used in order to assure some
random solutions.

Two methods can be used to generate the wrong solutions: Either simply
`runif`

or otherwise a full equi-distant grid for the
`range`

with step size `delta`

is set up from which a discrete
uniform sample is drawn. The former is preferred if the `range`

is large
enough while the latter performs better if the `range`

is small (as
compared to `delta`

.

Exercise templates using `num_to_schoice`

should be thoroughly
tested in order to avoid problems with too small ranges or almost
identical correct and wrong answers! This can potentially cause problems,
infinite loops, etc.

`num_to_schoice`

/`num2schoice`

returns either `NULL`

(if no suitable question
list can be found) or a list with the following components:

`solutions` |
a logical vector of length 5 indicating the |

`questions` |
a character vector of length 5 with question list. |

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ```
set.seed(1)
## just a correct solution
num_to_schoice(123.45)
## or equivalently
set.seed(1)
num2schoice(123.45)
## just a correct integer solution
num_to_schoice(123, digits = 0)
## a correct solution with a wider range
num_to_schoice(123.45, range = c(0, 200))
## here, the defaults can't work...
## num_to_schoice(0.1234)
## alternatives could be
num_to_schoice(0.1234, range = c(0, 1), delta = 0.03, method = "delta")
num_to_schoice(0.1234, range = c(-5, 5), delta = 0.05)
num_to_schoice(0.1234, wrong = c(0.2749, 1.9723), delta = 0.05)
num_to_schoice(0.1234, wrong = c(0.2749, 1.9723), range = c(-5, 5), delta = 0.05)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.