{
  "_id": "6a1fee26b401979e734411eb",
  "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-06-03 09:00:51 UTC",
    "User": "root"
  },
  "MD5sum": "b1895e30c5e05d181c652738b8bf0d6c",
  "_user": "skranz",
  "_type": "src",
  "_file": "RTutor_2020.11.25.tar.gz",
  "_fileid": "e51bf3319d48859bf51788e81ddc417bdc691421937cc143f207204dc33926da",
  "_filesize": 1435246,
  "_sha256": "e51bf3319d48859bf51788e81ddc417bdc691421937cc143f207204dc33926da",
  "_created": "2026-06-03T09:00:51.000Z",
  "_published": "2026-06-03T09:04:38.390Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79258514423,
      "time": 156,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "7380198015"
    },
    {
      "job": 79258514398,
      "time": 172,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "7380203655"
    },
    {
      "job": 79258514448,
      "time": 128,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "7380195440"
    },
    {
      "job": 79258514593,
      "time": 115,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "7380195857"
    },
    {
      "job": 79257871556,
      "time": 219,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7380141756"
    },
    {
      "job": 79258514394,
      "time": 172,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7380203607"
    },
    {
      "job": 79258514540,
      "time": 176,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "7380206042"
    },
    {
      "job": 79258514425,
      "time": 139,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "7380192510"
    },
    {
      "job": 79258514468,
      "time": 138,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "7380191504"
    }
  ],
  "_buildurl": "https://github.com/r-universe/skranz/actions/runs/26874437781",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_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
  },
  "_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": 206,
  "_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"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/RTutor"
  },
  "_devurl": "https://github.com/skranz/rtutor",
  "_searchresults": 117,
  "_rbuild": "4.6.0",
  "_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.859174336834977,
  "_indexed": true,
  "_nocasepkg": "rtutor",
  "_universes": [
    "skranz"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2020.11.25",
      "date": "2026-06-03T09:03:13.000Z",
      "distro": "noble",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "edf7a2418fdaad336a48360eb297eabb0cd29dc9a6cecf69d3ffb68d4e3e649a",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/26874437781"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "2020.11.25",
      "date": "2026-06-03T09:03:30.000Z",
      "distro": "noble",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "2a9b757c787f75b8f4f9f50a546066128adc470cb998642d34fb711fe61a4777",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/26874437781"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2020.11.25",
      "date": "2026-06-03T09:03:16.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "5a61364b0c77eea8187b97edfb9df3ffaf3ff4cf4836f002637748d98ed15c6c",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/26874437781"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "2020.11.25",
      "date": "2026-06-03T09:03:15.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "6f3ba103495aa14b9fda819aaa17bd609a46f6ee276274b62a9f23081569b5f6",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/26874437781"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2020.11.25",
      "date": "2026-06-03T09:04:07.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "a8c0df49cc58483618ee5f357ccba4f769807e1913382848f70438eeee4d5e23",
      "status": "success",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/26874437781"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2020.11.25",
      "date": "2026-06-03T09:03:21.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "0904b28a4153cc8063ed65dd14f837cb3f22bfed5197d4df63b9e639b78af347",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/26874437781"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "2020.11.25",
      "date": "2026-06-03T09:02:43.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "87260cd8edb5fff5abe209b71e715b5046d159d43ca872f3bf4ff8f027b967f4",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/26874437781"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "2020.11.25",
      "date": "2026-06-03T09:02:42.000Z",
      "commit": "f7d33c77a1138fb52673bd42a47eb9c47d971cb9",
      "fileid": "e437b5a03c95805f822aa900f0a1729044c52445d5f17a8fcbd4c2a291dc0c98",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/26874437781"
    }
  ]
}