{
  "_id": "6a4796ac2f27a93436c0ed9e",
  "Package": "RTutor",
  "Type": "Package",
  "Title": "Interactive R problem sets with automatic testing of solutions\nand automatic hints",
  "Version": "2020.11.25",
  "Date": "2020-11-25",
  "Author": "Sebastian Kranz",
  "Maintainer": "Sebastian Kranz <sebastian.kranz@uni-ulm.de>",
  "Description": "Interactive R problem sets with automatic testing of\nsolutions and automatic hints",
  "License": "Programm code: GPL >= 2.0 Contributed problem sets: Creative\nCommons (CY)",
  "RoxygenNote": "7.1.1",
  "Config/pak/sysreqs": "cmake make libicu-dev libuv1-dev zlib1g-dev",
  "Repository": "https://skranz.r-universe.dev",
  "Date/Publication": "2026-01-04 10:53:51 UTC",
  "RemoteUrl": "https://github.com/skranz/RTutor",
  "RemoteRef": "master",
  "RemoteSha": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-03 06:50:21 UTC",
    "User": "root"
  },
  "_user": "skranz",
  "_type": "src",
  "_file": "RTutor_2020.11.25.tar.gz",
  "_fileid": "https://r2.ropensci.org/fd585fcd546086f7087be5f9cacefb869d4c05cac87b15b1a320a7c427d1c0e1",
  "_filesize": 1438657,
  "_sha256": "fd585fcd546086f7087be5f9cacefb869d4c05cac87b15b1a320a7c427d1c0e1",
  "_expires": "2026-10-11T11:02:03.000Z",
  "_created": "2026-07-03T06:50:21.000Z",
  "_published": "2026-07-03T11:02:04.587Z",
  "_jobs": [
    {
      "job": 84986094328,
      "time": 202,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "8059772040"
    },
    {
      "job": 84986094304,
      "time": 191,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "8059769051"
    },
    {
      "job": 84986094295,
      "time": 101,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "8059743704"
    },
    {
      "job": 84986094305,
      "time": 107,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "8059745292"
    },
    {
      "job": 84986093229,
      "time": 176,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8059713367"
    },
    {
      "job": 84986094181,
      "time": 154,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8059759338"
    },
    {
      "job": 84986094294,
      "time": 113,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "8059747419"
    },
    {
      "job": 84986094706,
      "time": 105,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "8059744767"
    },
    {
      "job": 84986094648,
      "time": 110,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "8059746491"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/skranz/actions/runs/28643622691",
  "_status": "success",
  "_upstream": "https://github.com/skranz/RTutor",
  "_commit": {
    "id": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
    "author": "Sebastian Kranz <sebkranz@gmail.com>",
    "committer": "Sebastian Kranz <sebkranz@gmail.com>",
    "message": "Updates\n",
    "time": 1767524031
  },
  "_maintainer": {
    "name": "Sebastian Kranz",
    "email": "sebastian.kranz@uni-ulm.de",
    "login": "skranz",
    "bluesky": "@sebkranz.bsky.social",
    "description": "",
    "uuid": 1413022
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "shinyEvents",
      "role": "Depends"
    },
    {
      "package": "markdown",
      "role": "Depends"
    },
    {
      "package": "whisker",
      "role": "Depends"
    },
    {
      "package": "stringr",
      "role": "Depends"
    },
    {
      "package": "stringtools",
      "role": "Depends"
    },
    {
      "package": "data.table",
      "role": "Depends"
    },
    {
      "package": "tibble",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "role": "Depends"
    },
    {
      "package": "shiny",
      "version": ">= 0.11.1",
      "role": "Depends"
    },
    {
      "package": "dplyrExtras",
      "role": "Depends"
    },
    {
      "package": "shinyAce",
      "role": "Depends"
    },
    {
      "package": "shinyBS",
      "version": ">= 0.61",
      "role": "Depends"
    },
    {
      "package": "hwriter",
      "role": "Depends"
    },
    {
      "package": "restorepoint",
      "role": "Depends"
    },
    {
      "package": "RCurl",
      "role": "Depends"
    },
    {
      "package": "knitr",
      "role": "Depends"
    },
    {
      "package": "jsonlite",
      "role": "Depends"
    },
    {
      "package": "DT",
      "role": "Depends"
    },
    {
      "package": "memoise",
      "role": "Depends"
    },
    {
      "package": "yaml",
      "role": "Depends"
    },
    {
      "package": "rmarkdown",
      "role": "Depends"
    },
    {
      "package": "digest",
      "role": "Suggests"
    }
  ],
  "_owner": "skranz",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2026-01",
      "n": 4
    }
  ],
  "_tags": [],
  "_topics": [
    "economics",
    "learn-to-code",
    "problem-set",
    "rstudio",
    "rtutor",
    "shiny",
    "teaching"
  ],
  "_stars": 205,
  "_contributors": [
    {
      "user": "skranz",
      "count": 493,
      "uuid": 1413022
    },
    {
      "user": "martinkies",
      "count": 12,
      "uuid": 5664368
    },
    {
      "user": "stephlocke",
      "count": 2,
      "uuid": 6452610
    }
  ],
  "_userbio": {
    "uuid": 1413022,
    "type": "user",
    "name": "Sebastian Kranz",
    "followers": 216
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/RTutor"
  },
  "_devurl": "https://github.com/skranz/rtutor",
  "_searchresults": 150,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/readme.html",
    "extra/readme.md",
    "extra/RTutor.html",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "adapt.console.err.message",
    "adapt.empty.ps.rmd",
    "adapt.learnr.check.by.hint",
    "adapt.ps.dir",
    "adapt.view.li.for.notes",
    "add.block.complements",
    "add.failure",
    "add.htmlwidget.as.shiny",
    "add.quiz.handlers",
    "add.success",
    "add.te.addon",
    "add.te.award",
    "add.te.block",
    "add.te.chunk",
    "add.te.code",
    "add.te.compute",
    "add.te.info",
    "add.te.item",
    "add.te.precompute",
    "add.te.preknit",
    "add.te.settings",
    "add.warning",
    "all.parent.env",
    "answer.quiz",
    "args.of.call",
    "as.named.env",
    "autcomp.function.args",
    "auto.hint",
    "auto.hint.else",
    "autocomp.cols",
    "autocomp.find.current.function",
    "autocomp.js",
    "autocomp.vars",
    "awards",
    "bolden.part.counters",
    "bsActionButton",
    "can.chunk.be.edited",
    "can.connect.to.MathJax",
    "can.test.chunk.with.noeval",
    "check.assign",
    "check.assign.with.multiple.sol",
    "check.call",
    "check.call.args",
    "check.chunk",
    "check.class",
    "check.col",
    "check.exercise",
    "check.expr",
    "check.file.exists",
    "check.fill.in.lines",
    "check.function",
    "check.package",
    "check.problem.set",
    "check.ps.addin",
    "check.ps.addin.no.active.doc",
    "check.ps.addin.old",
    "check.regression",
    "check.shiny.chunk",
    "check.var.exists",
    "check.variable",
    "chunk.fluidRow",
    "chunk.opt.list.to.string",
    "chunk.opt.string.to.list",
    "chunk.output.htmlwidget",
    "chunk.special.output",
    "chunk.to.html",
    "click.check.quiz",
    "colored.html",
    "compare.call.args",
    "compare.calls",
    "compare.formula.rhs.terms",
    "compare.ivreg.formula",
    "compare.pipe.chains",
    "compare.regression.formula",
    "compare.sav.with.ps",
    "compare.values",
    "copy.env",
    "copy.into.envir",
    "copy.into.missing.fields",
    "copy.named.env",
    "copy.non.null.fields",
    "copy.ps.for.session",
    "copy.stud.env",
    "create.cdt.task.html",
    "create.ps",
    "CREATE.PS.ENV",
    "create.rps.chunk.html",
    "create.task.chunk.html",
    "data",
    "data.explorer.ui",
    "data.plot.ui",
    "data.shiny.chunk",
    "data.summarise.ui",
    "debug.diff.rps",
    "debug.show.shiny.dt",
    "default.out.chunk.options",
    "default.ups.save",
    "deparse.assign.var",
    "deparse1",
    "deploy.ps",
    "DescBy",
    "describe.call",
    "describe.chain.call",
    "describe.data",
    "describe.var",
    "describe.var.date",
    "describe.var.default",
    "describe.var.integer",
    "describe.var.internal",
    "describe.var.logical",
    "describe.var.numeric",
    "difference.df",
    "display",
    "dynCollapse",
    "dynCollapse.click",
    "edit.shiny.chunk",
    "eval.chain.steps",
    "eval.in.ace.console",
    "eval.in.console",
    "eval.next.chain.call",
    "example",
    "example.eval.next.chain.call",
    "example.memoise",
    "example.rtutor.app.skel",
    "example.rtutor2learnr",
    "example.scramble.call.diffs",
    "example.word.table",
    "examples",
    "examples.args.of.call",
    "examples.check.function",
    "examples.code.has.call",
    "examples.create.ps",
    "examples.deploy.ps",
    "examples.describe.call",
    "examples.dyn.collapse",
    "examples.frame.ps",
    "examples.grow.list",
    "examples.hint.report",
    "examples.import.logs",
    "examples.is.ggplot.call",
    "examples.make.var.txt.from.files",
    "examples.match.call.object",
    "examples.my.help",
    "examples.parse.expr.and.comments",
    "examples.parse.sol.rmd",
    "examples.print.example",
    "examples.qlist",
    "examples.quiz",
    "examples.read.yaml",
    "examples.rps.to.wps",
    "examples.rtutor.package.skel",
    "examples.run.ps",
    "examples.shiny.navlistPanel",
    "examples.shiny.tabset",
    "examples.shiny.test.highlight",
    "examples.shiny.test.mathjax",
    "examples.show.shiny.ps",
    "examples.signif.cols",
    "examples.str.left.of",
    "examples.str.to.valid.file.name",
    "examples.test.code.for.e",
    "examples.translate.old.sol",
    "examples.translate.var.names.in.code",
    "export.solution",
    "export.to.rmd",
    "export.ui",
    "extract_Rd",
    "extract.command",
    "extract.exercise.code",
    "extract.rmd.exercise.code",
    "fill.in.lines.to.code",
    "fill.in.lines.to.comment",
    "find.diffs",
    "find.diffs.data.frame",
    "find.diffs.default",
    "find.diffs.environment",
    "find.diffs.list",
    "find.funs",
    "find.matching.calls",
    "find.pandoc.path",
    "find.pkg.material.dir",
    "find.pkg.rps.dir",
    "find.varname.at.end.of.string",
    "flags.to.string",
    "format.vals",
    "fun.arg.names",
    "get.award.ui.id",
    "get.bi.te.str",
    "get.chain.failure.results",
    "get.children.and.fragments.ui.list",
    "get.chunk.lines",
    "get.chunk.ui",
    "get.empty.chunk",
    "get.empty.ex",
    "get.empty.te",
    "get.environment.data.var",
    "get.ex",
    "get.expr.src.lines",
    "get.expr.test.args",
    "get.help.txt",
    "get.non.children.fragments",
    "get.or.init.ps",
    "get.package.info",
    "get.placeholder",
    "get.placeholder.sym",
    "get.ps",
    "get.stud.chunk.code",
    "get.top.x.obs",
    "get.txt.blocks",
    "get.ups",
    "get.user.name",
    "get.var.descr.dt",
    "get.var.descr.html",
    "get.var.descr.markdown",
    "get.view.ui.of.ex",
    "give.award",
    "grow.list",
    "growlist",
    "growlist.add",
    "growlist.to.list",
    "guess.ps.name",
    "has.award",
    "has.call.placeholder",
    "hdisplay",
    "help.shiny.chunk",
    "hint",
    "hint.code.for.compute",
    "hint.code.for.e",
    "hint.else",
    "hint.else.active",
    "hint.for.assign",
    "hint.for.call",
    "hint.for.compute",
    "hint.for.function",
    "hint.shiny.chunk",
    "hint.stud.assign",
    "hint.stud.call",
    "hint.stud.fun",
    "holds.true",
    "html.table",
    "hypothesis.test.result",
    "import.from.rmd",
    "import.log",
    "import.psa.stats",
    "import.psapps.stats",
    "import.stud.code.from.rmd",
    "import.var.into.stud.env",
    "include.ps.extra.lines",
    "info",
    "init.ps",
    "init.quiz.part",
    "init.shiny.ps",
    "init.ups",
    "inner.hint.for.call.chain",
    "inner.rtutor.eval.to.string",
    "inner.secure.check.chunk",
    "inner.secure.check.chunk.return",
    "install.header.txt",
    "install.rtutor",
    "int.seq",
    "internal.check.call",
    "is.assignment",
    "is.call.placeholder",
    "is.dplyr.fun",
    "is.false",
    "is.ggplot.call",
    "is.last.chunk.of.ex",
    "is.ps.deployed",
    "is.same",
    "is.true",
    "knit.to.html",
    "learnr.header",
    "load.and.set.sav",
    "load.ps.libs",
    "load.rps",
    "load.sav",
    "load.save.ui",
    "load.submission",
    "load.ups",
    "log.event",
    "log.hint",
    "log.summary",
    "make.addons.list",
    "make.chunk.handlers",
    "make.chunk.input.ui",
    "make.chunk.nali",
    "make.chunk.output.ui",
    "make.chunk.stud.env",
    "make.chunk.task.ui",
    "make.data.explorer.handlers",
    "make.ex.ui",
    "make.ex.ui.li",
    "make.export.handlers",
    "make.expr.li.info",
    "make.ggplot.code",
    "make.hint.report",
    "make.initial.chunk.ui",
    "make.knit.print.funs",
    "make.knit.print.opts",
    "make.learnr.checks.txt",
    "make.load.save.handlers",
    "make.rmd.addon.txt",
    "make.rtutor.collapse.note",
    "make.rtutor.page.ui",
    "make.rtutor.ui",
    "make.shiny.dt",
    "make.submission",
    "make.var.descr.ui",
    "make.var.txt.from.df",
    "make.var.txt.from.file",
    "make.var.txt.from.files",
    "make.view.ui",
    "make.view.ui.li",
    "mark_utf8",
    "mark.fill.in.lines",
    "match.call.object",
    "match.call.object.env",
    "mathJaxRTutor",
    "max.size.df",
    "md.to.latex",
    "memoise.fun.li",
    "move.library",
    "my.help",
    "my.help.online",
    "name.of.call",
    "name.rmd.chunks",
    "new.stud.env",
    "nlist",
    "old.make.var.descr.ui",
    "old.rt.check.call",
    "old.stats",
    "open.var.descr.collapse",
    "output.shiny.chunk",
    "output.solution.header",
    "parse.block.args",
    "parse.block.ends",
    "parse.block.starts",
    "parse.chunk.args",
    "parse.chunk.ends",
    "parse.chunk.starts",
    "parse.command.line",
    "parse.exercise.starts",
    "parse.expr.and.comments",
    "parse.no.change.line",
    "parse.sol.line",
    "parse.sol.rmd",
    "parse.text",
    "parse.text.with.source",
    "preknit.rps",
    "pretty.df",
    "print.example",
    "print.named.env",
    "print.Problemset",
    "print.StudEnv",
    "print.yaml",
    "proceed.with.successfuly.checked.chunk",
    "process.checked.addon",
    "ps.basenv.functions",
    "ps.rtutor.chunk",
    "qlist",
    "quick.df",
    "quiz.md",
    "quiz.part.md",
    "quiz.part.ui",
    "quiz.ui",
    "quizDefaults",
    "read.var.txt",
    "read.yaml",
    "read.yaml.blocks",
    "recursive.args.of.call",
    "register.knit.print.functions",
    "remove.fill.in.lines",
    "remove.names",
    "remove.ups",
    "remove.verbatim.end.chunks",
    "replace.fields",
    "replace.quizes.by.chunks",
    "replace.whisker",
    "rerun.solved.chunks",
    "reset.ps",
    "restore.shiny.chunk",
    "rmd.to.latex",
    "rmd.to.latex.addin",
    "rt.check.assign",
    "rt.check.call",
    "rt.exercise.checker",
    "rt.knit",
    "rtutor.addon.quiz",
    "rtutor.app.skel",
    "rtutor.check.whitelist",
    "rtutor.default.memoise.funs",
    "rtutor.default.whitelist",
    "rtutor.dispatch.html.query",
    "rtutor.dot.levels",
    "rtutor.eval.secure",
    "rtutor.eval.to.string",
    "rtutor.ex.tab.change",
    "rtutor.failed.login.ui",
    "rtutor.hint.addin",
    "rtutor.knit_print.data.frame",
    "rtutor.knit_print.htmlwidget",
    "rtutor.knit_print.shiny.tag.list",
    "rtutor.login.init.psa",
    "rtutor.login.main.default.header",
    "rtutor.make.frame.ps.te",
    "rtutor.observe.html.query",
    "rtutor.open.psapp.click",
    "rtutor.package.skel",
    "rtutor.parse.block",
    "rtutor.parse.chunk",
    "rtutor.parse.column",
    "rtutor.parse.frame",
    "rtutor.parse.image",
    "rtutor.parse.info",
    "rtutor.parse.note",
    "rtutor.parse.precompute",
    "rtutor.parse.preknit",
    "rtutor.parse.references",
    "rtutor.parse.row",
    "rtutor.parse.solved",
    "rtutor.quiz.block.parse",
    "rtutor.quiz.handler",
    "rtutor.quiz.init.shiny",
    "rtutor.quiz.shiny.ui",
    "rtutor.quiz.sol.txt.fun",
    "rtutor.quiz.task.txt.fun",
    "rtutor.show.user.session",
    "rtutor.skel.show.opts.string",
    "rtutor.teacher.handlers",
    "rtutor.update.stats.panel",
    "rtutor.whitelist.report",
    "rtutor.write.session.file",
    "rtutor2learnr",
    "rtutor2learnr.chunk",
    "rtutor2learnr.txt",
    "rtutorAlert",
    "RTutorLoginApp",
    "RTutorPSApp",
    "RTutorTeacherApp",
    "run.line.shiny.chunk",
    "run.ps",
    "run.required.previous.shiny.chunks",
    "run.shiny.chunk",
    "same.data.frame.cols",
    "same.until.pos",
    "save.rps",
    "save.sav",
    "save.shiny.chunk",
    "save.ups",
    "sc",
    "scramble.call.chain",
    "scramble.call.diffs",
    "scramble.call.diffs.inner",
    "scramble.call.object",
    "scramble.text",
    "secure.base.env",
    "secure.check.chunk",
    "set.autocomplete.list",
    "set.bdf.ui",
    "set.chunk.autocomp.observer",
    "set.data.explorer.data",
    "set.ex",
    "set.knit.print.opts",
    "set.nali.names",
    "set.ps",
    "set.shiny.chunk",
    "set.ups",
    "shiny.award.ui",
    "shiny.set.ex.chunk",
    "shiny.to.rmd.txt",
    "shinyQuiz",
    "show.award",
    "show.ex.ui",
    "show.html",
    "show.ps",
    "show.rtutor.login.main",
    "show.rtutor.teacher.main",
    "show.shiny.award",
    "show.shiny.awards",
    "show.shiny.ps",
    "show.success.message",
    "show.view.ui",
    "show.view.ui.of.ex",
    "sigma.test",
    "signif.cols",
    "signif.or.round",
    "solution.shiny.chunk",
    "source.te.extra.code",
    "standardize.assign",
    "stats",
    "stepwise.eval.stud.expr",
    "stop.without.error",
    "str.to.valid.chunk.name",
    "str.to.valid.file.name",
    "substitute.call",
    "suspend.chunk.autocomp.observer",
    "te.to.rps",
    "test.code.for.compute",
    "test.code.for.e",
    "test.H0",
    "test.H0.rejected",
    "test.mean",
    "test.normality",
    "test.variance",
    "timedMessage",
    "to_ordinal",
    "translate.old.rtutor.sol",
    "translate.var.names",
    "translate.var.names.in.code",
    "true",
    "unique.obs",
    "update.all.chunk.ui",
    "update.chunk.ui",
    "update.data.explorer.data",
    "update.data.explorer.plot",
    "update.data.explorer.summarise",
    "update.data.explorer.ui",
    "update.log.test.result",
    "update.teacher.stat",
    "update.ups",
    "update.ups.chunk.check",
    "ups.init.shiny.ps",
    "ups.to.sub.file",
    "valid.obs",
    "var.summary.html",
    "variable.selector.ui",
    "view.in.pane",
    "with.random.seed",
    "word.at.pos",
    "word.xml.table",
    "write.empty.ps",
    "write.output.solution",
    "write.sample.solution",
    "xmax",
    "xmean",
    "xmin",
    "xround",
    "xsd",
    "xsignif",
    "yaml.bool.handler.no",
    "yaml.bool.handler.yes"
  ],
  "_help": [
    {
      "page": "add.failure",
      "title": "Used inside tests: adds a failure to an exercise",
      "topics": [
        "add.failure"
      ]
    },
    {
      "page": "add.success",
      "title": "Used inside tests: adds a sucess message",
      "topics": [
        "add.success"
      ]
    },
    {
      "page": "add.warning",
      "title": "Used inside tests: adds a warning",
      "topics": [
        "add.warning"
      ]
    },
    {
      "page": "auto.hint",
      "title": "This is just a place holder in a hint block",
      "topics": [
        "auto.hint"
      ]
    },
    {
      "page": "auto.hint.else",
      "title": "This is just a place holder in a hint block",
      "topics": [
        "auto.hint.else"
      ]
    },
    {
      "page": "awards",
      "title": "Show all your awards",
      "topics": [
        "awards"
      ]
    },
    {
      "page": "check.assign",
      "title": "Checks an assignment to a variable",
      "topics": [
        "check.assign"
      ]
    },
    {
      "page": "check.assign.with.multiple.sol",
      "title": "Checks an assignment to a variable with up to 5 possibly correct solutions",
      "topics": [
        "check.assign.with.multiple.sol"
      ]
    },
    {
      "page": "check.call",
      "title": "Checks whether the user makes a particular function call in his code or call a particular R statement",
      "topics": [
        "check.call"
      ]
    },
    {
      "page": "check.col",
      "title": "Test: Compare the column col of the matrix or data.frame df with either the values from the given solutions or with the result of an expression that is evaluated in the students solution",
      "topics": [
        "check.col"
      ]
    },
    {
      "page": "check.expr",
      "title": "Test: Compare the expression check.expr evaluated in the student's environment with the solution correct.expr",
      "topics": [
        "check.expr"
      ]
    },
    {
      "page": "check.file.exists",
      "title": "Check whether a given file exists",
      "topics": [
        "check.file.exists"
      ]
    },
    {
      "page": "check.function",
      "title": "Checks a function written by the student",
      "topics": [
        "check.function"
      ]
    },
    {
      "page": "check.problem.set",
      "title": "Checks a student problem set",
      "topics": [
        "check.problem.set"
      ]
    },
    {
      "page": "check.regression",
      "title": "Check whether an object from a call to lm, glm or some other regression function is correct",
      "topics": [
        "check.regression"
      ]
    },
    {
      "page": "check.variable",
      "title": "Test: Check whether a variable is equal to a specified expression",
      "topics": [
        "check.variable"
      ]
    },
    {
      "page": "create.ps",
      "title": "Generate a problem set from a solution file",
      "topics": [
        "create.ps"
      ]
    },
    {
      "page": "display",
      "title": "Displays the given text",
      "topics": [
        "display"
      ]
    },
    {
      "page": "get.ps",
      "title": "Get the current problem set",
      "topics": [
        "get.ps"
      ]
    },
    {
      "page": "hint",
      "title": "Shows a hint for the current problem.",
      "topics": [
        "hint"
      ]
    },
    {
      "page": "hint.else",
      "title": "Show a hint only if no hint.stud.call or hint.stud.assign was triggered.",
      "topics": [
        "hint.else"
      ]
    },
    {
      "page": "hint.else.active",
      "title": "Get or set whether hint.else or auto.hint.else would be triggered.",
      "topics": [
        "hint.else.active"
      ]
    },
    {
      "page": "hint.for.assign",
      "title": "Default hint for an assignment",
      "topics": [
        "hint.for.assign"
      ]
    },
    {
      "page": "hint.for.call",
      "title": "Default hint for a call",
      "topics": [
        "hint.for.call"
      ]
    },
    {
      "page": "hint.for.compute",
      "title": "Default hint for a compute block",
      "topics": [
        "hint.for.compute"
      ]
    },
    {
      "page": "hint.for.function",
      "title": "Default hint for a function",
      "topics": [
        "hint.for.function"
      ]
    },
    {
      "page": "hint.stud.assign",
      "title": "Show the hint if the student made the specified wrong assignment",
      "topics": [
        "hint.stud.assign"
      ]
    },
    {
      "page": "hint.stud.call",
      "title": "Show the hint if the student made the specified wrong call",
      "topics": [
        "hint.stud.call"
      ]
    },
    {
      "page": "hint.stud.fun",
      "title": "Show the hint if the student calls a specific function",
      "topics": [
        "hint.stud.fun"
      ]
    },
    {
      "page": "holds.true",
      "title": "To be used in a test block",
      "topics": [
        "holds.true"
      ]
    },
    {
      "page": "make.hint.report",
      "title": "Helper function when developing problem sets",
      "topics": [
        "make.hint.report"
      ]
    },
    {
      "page": "make.submission",
      "title": "Grade your problem set and make submission file",
      "topics": [
        "make.submission"
      ]
    },
    {
      "page": "name.rmd.chunks",
      "title": "Set default names for the chunks of problem set rmd files",
      "topics": [
        "name.rmd.chunks"
      ]
    },
    {
      "page": "read.yaml",
      "title": "Reads a yaml file and returns as a list",
      "topics": [
        "read.yaml"
      ]
    },
    {
      "page": "rtutor.app.skel",
      "title": "Generate a skeleton for a shinyapps.io app of a problem set",
      "topics": [
        "rtutor.app.skel"
      ]
    },
    {
      "page": "rtutor.package.skel",
      "title": "Generate a package skeleton for a shiny based RTutor problem set that shall be deployed as a package",
      "topics": [
        "rtutor.package.skel"
      ]
    },
    {
      "page": "rtutor.skel.show.opts.string",
      "title": "Intermediary Function helping to build the ps.show() Options string",
      "topics": [
        "rtutor.skel.show.opts.string"
      ]
    },
    {
      "page": "run.ps",
      "title": "Run a problem set from a package in the browser",
      "topics": [
        "run.ps"
      ]
    },
    {
      "page": "sc",
      "title": "Like paste0 but returns an empty vector if some string is empty",
      "topics": [
        "sc"
      ]
    },
    {
      "page": "show.ps",
      "title": "Run a shiny based problem set in the browser",
      "topics": [
        "show.ps"
      ]
    },
    {
      "page": "stats",
      "title": "Shows your progress",
      "topics": [
        "stats"
      ]
    },
    {
      "page": "test.H0",
      "title": "Helper function for custom test blocks. Check whether a certain null hypothesis is not significantly rejected",
      "topics": [
        "test.H0"
      ]
    },
    {
      "page": "test.H0.rejected",
      "title": "Can be used in a custom test block. Checks whether a certain H0 can be significantly rejected",
      "topics": [
        "test.H0.rejected"
      ]
    },
    {
      "page": "true",
      "title": "A robust implementation of isTRUE",
      "topics": [
        "true"
      ]
    },
    {
      "page": "with.random.seed",
      "title": "Calls a function with a specified random.seed",
      "topics": [
        "with.random.seed"
      ]
    }
  ],
  "_readme": "https://github.com/skranz/RTutor/raw/master/README.md",
  "_rundeps": [
    "base64enc",
    "bitops",
    "bslib",
    "cachem",
    "cli",
    "commonmark",
    "crosstalk",
    "data.table",
    "digest",
    "dplyr",
    "dplyrExtras",
    "DT",
    "dtplyr",
    "evaluate",
    "fastmap",
    "fontawesome",
    "fs",
    "generics",
    "glue",
    "highr",
    "htmltools",
    "htmlwidgets",
    "httpuv",
    "hwriter",
    "jquerylib",
    "jsonlite",
    "knitr",
    "later",
    "lazyeval",
    "lifecycle",
    "litedown",
    "magrittr",
    "markdown",
    "memoise",
    "mime",
    "otel",
    "pillar",
    "pkgconfig",
    "promises",
    "R6",
    "rappdirs",
    "Rcpp",
    "RCurl",
    "restorepoint",
    "rlang",
    "rmarkdown",
    "sass",
    "shiny",
    "shinyAce",
    "shinyBS",
    "shinyEvents",
    "sourcetools",
    "stringi",
    "stringr",
    "stringtools",
    "tibble",
    "tidyselect",
    "tinytex",
    "utf8",
    "vctrs",
    "whisker",
    "withr",
    "xfun",
    "xtable",
    "yaml"
  ],
  "_score": 5.964966374831098,
  "_indexed": true,
  "_nocasepkg": "rtutor",
  "_universes": [
    "skranz"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2020.11.25",
      "date": "2026-07-03T06:53:23.000Z",
      "distro": "resolute",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "https://r2.ropensci.org/343b5eac0cf61d44416696c209ca5461733c2ac2c226efcfd29bdb9c61e12436",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/28643622691"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "2020.11.25",
      "date": "2026-07-03T06:53:08.000Z",
      "distro": "resolute",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "https://r2.ropensci.org/d338592652e300dbe24ed91becd3228a10f4a27b39dfddb52aab6ac02e95a307",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/28643622691"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2020.11.25",
      "date": "2026-07-03T06:51:59.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "https://r2.ropensci.org/95f94ac08a256c60f7d076d9f21b40f2e118f485462ca1765a676eabd76d8d30",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/28643622691"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "2020.11.25",
      "date": "2026-07-03T06:52:02.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "https://r2.ropensci.org/d3d1da8dbcab5e21292f8fe2169d378bd2566eacd57f1241c4b14bead9ee562f",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/28643622691"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2020.11.25",
      "date": "2026-07-03T06:53:15.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "https://r2.ropensci.org/03ecc028a310acb6af2883084034643a193004b5271e5fab6adbfd6d2512f219",
      "status": "success",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/28643622691"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2020.11.25",
      "date": "2026-07-03T06:51:42.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "https://r2.ropensci.org/57c0f3ac9697321f55b7cbd9455975bf94f885d4d48ebaaffc73b10892cb3049",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/28643622691"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "2020.11.25",
      "date": "2026-07-03T06:51:34.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "https://r2.ropensci.org/467e50a83cfa699a6fe982b362b31f3ab5655b8d58906d752d7d835de940553e",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/28643622691"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "2020.11.25",
      "date": "2026-07-03T06:51:41.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "https://r2.ropensci.org/0f49b5b4d25dafcdaf75cb87ce008c24766a5ff12e298237948d50a497ef3a2d",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/28643622691"
    }
  ]
}