You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R/exams从单个.Rmd生成无重复的指定数量习题?

用R/exams生成指定不重复参数的Moodle习题

要解决你遇到的“生成n=4时出现重复参数”的问题,核心是放弃随机抽样,让每道习题对应固定的参数行,通过给每个生成实例传递指定索引来实现:

1. 修改Rmd中的数据生成逻辑

把原来的随机抽样代码改成接收外部传入的索引参数,这样每道题可以精准调用对应参数组:

{r data generation, echo = FALSE, results = "hide"}
data <- read.csv(header = TRUE, text = "
   r,b,g,p
   .05,1.3,.04,.03
   .04,1.2,.05,.025
   .035,1.1,.02,.03
   .025,1.25,.015,.025")
# 接收外部传入的i,未传入时默认用第一行(可选)
if (!exists("i")) i <- 1
dd <- data[i, ]

2. 调用exams2moodle时指定索引序列

使用exams2moodle的args参数,为4道习题分别传递i=1到i=4,确保每道题对应唯一参数组:

exams2moodle(
  file = "你的习题文件.Rmd",  # 替换成你的实际Rmd文件名
  n = 4,
  args = list(i = 1:4),
  name = "unique_param_exam",
  dir = "./moodle_export"  # 输出目录可自定义
)

关键说明

  • 这种方式会让4次生成过程分别调用data的第1到第4行参数,完全避免重复。
  • 如果后续参数组数量变化,只需要调整args里的i范围(比如有5组参数就改成1:5)即可适配。

内容的提问来源于stack exchange,提问作者Massimo2013

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 05:23:28