17.6 trackdown で Google ドライブの Rmd 文書を共同編集する

trackdown パッケージ (Kothe et al. 2021) は R Markdown (または Sweave) 文書の共同執筆・編集に対するシンプルなソリューションを提案してくれます. trackdowngoogledrive パッケージ (D’Agostino McGowan and Bryan 2021) を基にして, ローカルの .Rmd (または .Rnw) ファイルをプレーンテキスト形式として Google ドライブにアップロードします. Markdown (あるいは LaTeX) の構文 の可読性のよさ43と Google ドキュメントの提案する広く普及しているオンラインのインターフェースという利点を活かすことで, 共同編集者たちは容易に執筆編集作業に貢献することができます. 全ての著者の貢献を統合したのち, 最終的な文書がローカルにダウンロードされレンダリングされます.

trackdown は CRAN から, あるいは開発版を GitHub からインストールしてもいいでしょう. (https://github.com/claudiozandonella/trackdown):

# install from CRAN
install.packages("trackdown")

# install the development version
remotes::install_github("claudiozandonella/trackdown", build_vignettes = TRUE)

17.6.1 trackdown の作業工程

.Rmd (あるいは .Rnw) の共同での読み書き作業では, 異なるコンピュータのコードやナラティブを持つテキストを利用することが重要となります:

  • コード - 共同作業でのコード執筆は伝統的な Git を下地にしたオンラインリポジトリ (GitHub や GitLab) を使用する工程に沿って, 最も効率的になされます.

  • ナラティブ - ナラティブとしてのテキスト共同執筆は, 同じ文書を複数のユーザで同時編集できる, よく知られシンプルなオンラインインターフェースである Google ドキュメント の使用によって最も効率的になされます.

したがって, この作業工程のイメージは単純です. .Rmd (または .Rnw) 文書をナラティブの共同編集のため Google ドキュメントとして Google ドライブにアップロードし, Git のバージョン管理と共同作業機能の力を利用しつつコードが機能し続けるようローカルに文書をダウンロードします. この Google ドライブへのアップロード/からのダウンロードの繰り返し作業は納得のいく成果物ができるまで続けられます (図17.2 参照). この作業工程はこのように要約できます.

Git による コード の共同執筆と Google ドキュメント による ナラティブの共同執筆

作業工程の詳細な例は https://ekothe.github.io/trackdown/articles/trackdown-workflow.html を見てください.

trackdown の作業工程, コードの共同執筆は Git を使いローカルで行い,  ナラティブの共同執筆は Google ドキュメントを使いオンラインで行う

図 17.2: trackdown の作業工程, コードの共同執筆は Git を使いローカルで行い, ナラティブの共同執筆は Google ドキュメントを使いオンラインで行う

関数と特別な機能

trackdown は作業工程の管理のために様々な関数を提供します.

  • upload_file() は Google ドライブへ最初にファイルをアップロードする際に使います.
  • update_file() は Google ドライブにアップロード済みのファイルをローカルファイルで更新します.
  • download_file() はローカルファイルを, ダウンロードした Google ドライブのファイルの編集済みバージョンで更新します.
  • render_file() はGoogle ドライブのファイルをダウンロードしローカルでレンダリングします.

さらにそれ以外にも trackdown は Google ドキュメントの文書の共同執筆・編集を円滑にする機能を提案します.

  • コードを隠す: 文書のヘッダにあるコード (YAML ヘッダや LaTeX プリアンブル) やコードチャンクは Google ドライブへのアップロード時に除去され, ダウンロード時まで自動保存されます. これによって共同編集者がコードをうっかり変更してファイルを破損してしまうのを防ぎ, ナラティブに意識を集中させることができます.

  • 出力のアップロード: 実際の出力文書, つまりレンダリングされたファイルは Goodle ドライブに .Rmd (または .Rnw) ファイルとまとめてアップロードされます. これは共同編集者が図や表を含む全体のレイアウトを見通すのに役立ち, コメントの追加や変更の提案・議論を可能にします.

  • Google ドライブの共有ドライブを使用する: 文書を個人用の Google ドライブにも, 共同作業促進のために共有ドライブにもアップロードできます.

Google ドキュメントの利点

Google ドキュメントはユーザに親しみやすく直感的な, 無償の web ベースのインターフェースを提案しており, 複数ユーザが同時に同じ文書を編集することが可能です. Google ドキュメントでは以下が可能です.

  • 変更箇所の追跡 (提案の採用・却下履歴を含む)
  • 変更の提案と議論についてのコメントの追加
  • スペル・文法ミスのチェック (Grammarly のようなサードパーティのサービスとの統合も可能)

さらに Google ドキュメントは誰でも文書の共同編集に貢献することが可能です. プログラミング経験も要求せず, ユーザは単にナラティブの編集にだけ集中することができます.

全ての共同編集者が Google アカウントを持つ必要がないことも知っておいてください (ただし Google ドキュメントの全ての機能を活用するために持っておくことをお勧めします). trackdown の作業工程を管理する人物だけが, ファイル Google ドライブにアップロードするためにアカウントを持つ必要があります. 共有リンクを使用して他の共同編集者を文書の編集に招待することができます.

参考文献

D’Agostino McGowan, Lucy, and Jennifer Bryan. 2021. Googledrive: An Interface to Google Drive. https://CRAN.R-project.org/package=googledrive.
Kothe, Emily, Claudio Zandonella Callegher, Filippo Gambarota, Janosch Linkersdörfer, and Mathew Ling. 2021. Trackdown: Collaborative Writing and Editing of r Markdown (or Sweave) Documents in Google Drive. https://CRAN.R-project.org/package=trackdown.

  1. 訳注: LaTeX の可読性?? バイナリファイルと比較して, ということでしょうか?↩︎