Skip to contents

The functional constructor for a taxonomy. Use it to add a scheme the package does not ship; the registered ones are fetched with taxonomy() and listed by list_taxonomies().

Usage

create_taxonomy(
  id,
  label,
  citation,
  levels,
  definitions,
  verbs,
  rubric,
  ranks = seq_along(levels),
  domain = "cognitive",
  ordered = TRUE,
  panel = "median_rank"
)

Arguments

id

Character: Short identifier, unique among taxonomies.

label

Character: Human-readable name.

citation

Character: Short citation, or a statement that the scheme is unpublished. Say which.

levels

Character: Permitted labels, lowest to highest demand.

definitions

Character: One definition per level.

verbs

List: Character vector of representative verbs per level.

rubric

Character: Framing sentence placed above the level list in the system prompt.

ranks

Integer: Ordinal position per level, non-decreasing. Defaults to seq_along(levels); supply it only when two levels tie.

domain

Character {"cognitive", "affective", "psychomotor", "knowledge"}: Domain of learning.

ordered

Logical: Whether the ranks form a comparable hierarchy. Set FALSE for a scheme whose levels are categories rather than a ladder; check_level_consistency() will then refuse to difference them.

panel

Character {"median_rank", "modal"}: How repeated raters' levels combine into the reported level.

Value

Taxonomy object.

Details

A taxonomy is data. Its behavior – building the prompt and schema, parsing the response, combining raters – is supplied by the package, so defining one means describing a ladder rather than writing functions.

levels, ranks, definitions and verbs are four positionally-aligned vectors describing one level each, ordered from lowest to highest cognitive demand.

Author

EDG

Examples

create_taxonomy(
  id = "two_level",
  label = "Recall or beyond",
  citation = "Unpublished: example only.",
  levels = c("Recall", "Beyond recall"),
  definitions = c("Retrieve a stated fact.", "Anything more than retrieval."),
  verbs = list(c("list", "name"), c("apply", "compare", "design")),
  rubric = "How much cognitive work does this objective demand?"
)
#> <curriculum::Taxonomy>
#>  @ id         : chr "two_level"
#>  @ label      : chr "Recall or beyond"
#>  @ citation   : chr "Unpublished: example only."
#>  @ domain     : chr "cognitive"
#>  @ levels     : chr [1:2] "Recall" "Beyond recall"
#>  @ ranks      : int [1:2] 1 2
#>  @ definitions: chr [1:2] "Retrieve a stated fact." "Anything more than retrieval."
#>  @ verbs      :List of 2
#>  .. $ : chr [1:2] "list" "name"
#>  .. $ : chr [1:3] "apply" "compare" "design"
#>  @ rubric     : chr "How much cognitive work does this objective demand?"
#>  @ ordered    : logi TRUE
#>  @ panel      : chr "median_rank"