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

如何自定义R包中learnr教程的展示顺序而非按字母排序?

自定义learnr包中教程的展示顺序

目前learnr并没有提供类似swirl的MANIFEST文件这种直接配置教程顺序的官方方式,不过有两种可行的解决思路:

1. 自定义函数控制展示顺序

你可以在包内写一个自定义函数,替代原生的learnr::available_tutorials(),手动指定教程的排列顺序。比如:

my_pkg_tutorials <- function() {
  # 获取所有教程
  all_tutorials <- learnr::available_tutorials("your_pkg_name")$tutorials
  # 自定义顺序,把"hello"放在最前面,剩下的按你需要的顺序列出来
  desired_order <- c("hello", "basic_operations", "advanced_features")
  # 匹配并重新排序
  all_tutorials[match(desired_order, all_tutorials$name), ]
}

之后在包的文档里说明用户可以调用这个自定义函数查看教程,就能得到你想要的顺序。

2. 给教程文件加前缀(妥协方案)

如果不想额外写函数,最直接的办法就是给教程的Rmd文件名加数字或字母前缀,比如:

  • 01-hello.Rmd
  • 02-basics.Rmd
  • 03-advanced.Rmd
    这样learnr按字母排序时,就会自动按照前缀的顺序排列,轻松实现你要的展示效果。

需要注意的是,原生的learnr::available_tutorials()确实默认按教程名称的字母顺序返回结果,没有内置的配置项可以直接修改这个逻辑,所以上面两种是目前最实用的解决方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 00:29:57