[解決済み] R Markdown ファイルを `source('myfile.r')` のようにソースする方法は?
質問
RのMarkdownファイルやknitrのLaTeXファイルで、よく
source
に他のRファイル(例えば、データ処理用)を追加することがあります。しかし、いくつかのケースでは、これらのソースファイルがそれ自身の再現可能なドキュメントであることが有益であると考えていました(例えば、データ処理用のコマンドを含むだけでなく、データ処理の決定を説明する再現可能なドキュメントを生成するR Markdownファイル)。
よって、以下のようなコマンドが欲しいところです。
source('myfile.rmd')
のRコードチャンク内のすべてのRコードを抽出してソースにするようなコマンドを、私のメインR Markdownファイル内に持ちたいと思います。
myfile.rmd
. もちろん、これはエラーを発生させます。
次のコマンドは動作します。
```{r message=FALSE, results='hide'}
knit('myfile.rmd', tangle=TRUE)
source('myfile.R')
```
ここで
results='hide'
は出力が必要であれば省略することができます。つまり、knitrはRコードを
myfile.rmd
に出力します。
myfile.R
.
しかし、完璧とは言えないようです。
- を使用すると、余分なファイルが作成されます。
- 表示の制御が必要な場合、それ自身のコードチャンクに表示する必要があります。
-
のようなエレガントなものではありません。
source(...)
.
したがって、私の質問は R MarkdownファイルのRコードをソースする、よりエレガントな方法はありますか?
どのように解決するのですか?
一発芸をお探しのようですね。これを
.Rprofile
?
ksource <- function(x, ...) {
library(knitr)
source(purl(x, output = tempfile()), ...)
}
しかし、なぜあなたが
source()
を使用する理由がわかりません。つまり
knit()
を実行すると、このドキュメント内のすべてのコードが実行され、コードを抽出してチャンクで実行すると、すべてのコードが二度実行されることになります。
knit()
を実行すると、すべてのコードが二度実行されることになります (自分自身の中で自分自身を実行することになります)。この2つのタスクは別々であるべきです。
本当にすべてのコードを実行したいのであれば、RStudioはこれをかなり容易にしています。
Ctrl + Shift + R
. これは基本的に
purl()
と
source()
の裏側にある。
関連
-
[解決済み] GitHubのREADME.mdに画像を追加する方法とは?
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] Markdownのコメント
-
[解決済み] Markdownで画像サイズを変更する
-
[解決済み] 拡張子.mdのファイルとその編集方法を教えてください。
-
[解決済み] Markdownで同じドキュメントの一部にリンクする方法は?
-
[解決済み] GitHub、Markdownを悪魔のようにいじくり回す - 666をDCLXVIに変更
-
[解決済み] Markdownで色を適用する方法は?
-
[解決済み] Markdown: 番号付きリストの継続
-
[解決済み】Markdownファイル内のGitHub相対リンク
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
R - ユークリッド距離の計算を簡単にする方法
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] require()とlibrary()の違いは何ですか?
-
[解決済み] 空のdata.frameを作成する
-
[解決済み] なぜ `[`] は `subset` よりも優れているのですか?
-
[解決済み】data.frameのグループごとの平均値【重複】について
-
[解決済み】R関数でオプション引数を指定する "正しい "方法
-
[解決済み] セッションが作成されません。このバージョンのChromeDriverはChromeバージョンにしか対応していません ChromeDriver ChromeでSeleniumを使用した場合の74エラー