WebRを埋め込む

R
Published

August 23, 2024

Web上でインタラクティブにコードの動作を確認することができるQuartoの拡張機能であるQuarto Liveを試してみます。

ターミナルに以下のコマンドを入力し、インストールします。

quarto add r-wasm/quarto-live

コードを埋め込みたいqmdファイルのフロントマターに以下を記述します。

---
format: live-html
engine: knitr
---

また、本文に{{< include ./_extensions/r-wasm/live/_knitr.qmd >}}を追加します。

Pythonの場合はformatの指定だけで大丈夫のようです。 あとは、以下のようにコードブロックを埋め込むことで動作します。

以下にコードを埋め込んでみました。 自分で編集及びコードの実行ができることが確認できます。

自動実行を止める

自動で実行させないようにするには、チャンクオプションでautorun: falseを指定します。

```{webr}
#| autorun: false
123 + 456
```

その他の主なオプションを列挙します。

即座に実行する

runbutton: falseを追加することで、Run codeボタンを押さず、文字を更新するたびに実行させるようにすることもできます。 コードが完成するまではエラーメッセージが点滅し続けるため、必要なときだけいれると良いと思います。

自動補完

completion: trueを追加することで、自動補完が有効化されます。 これはとても便利な機能だと思います。

初期化ボタンをなくす

startover: falseを追加することで、Start Overボタン(初期化ボタン)がなくなります。 あえてこのオプションを追加することはあまりないかもしれません。

時間制限をつける

timelimitオプションを指定することで、コード実行の時間制限をつけることができます。 単位は秒で、timelimit: 3とすると、コード実行に3秒以上かかる場合、実行が停止し、エラーが表示されます。 無限ループのコードが含まれる場合などに有効です。

代表的なものを挙げました。 このくらいがわかれば、大体の場合はうまくいくと思います。

最後に

前々から気になっていた技術ですが、とても便利ですね。 Rのハンズオン学習に最適ですね。 私も積極的に使っていきたいと思います。

参考

Quarto Live Documentation
公式のドキュメントです。 ここに仕様などすべて載っています。

quarto-live
Githubのレポジトリ

Back to top