LoginSignup
79
94

More than 3 years have passed since last update.

研究プロジェクトの管理:フォルダ構成とGitHubのミニマムな利用

Last updated at Posted at 2020-10-31

みなさん,研究プロジェクトをどう管理していますか? データ解析のコードをどう管理していますか?

わたしは生物統計家として,さまざまな研究プロジェクトに関わらせていただいてます.
以前はプロジェクトごとに,その場その場でドキュメントやコードを管理していて,分からなくなることもよくありました.このような経験から,少しずつプロジェクト管理の標準化を図ってきました.

最近落ち着いた気もするので,まとめようと思います.(あくまで,医学研究の,かつデータ解析に特化した管理方法です)

プロジェクトフォルダ構成

研究プロジェクトごとに,フォルダの構成がバラバラだと,後で振り返った時に昔の自分を罵りたくなりますね.そうならないために,今の私のフォルダは次のようになっています.
スクリーンショット 2020-10-31 14.53.17.png

Documentフォルダ

Projectに関連する資料はここに格納します.論文関係ならば「papers」というようなサブフォルダを作っても良いと思います.

Dataフォルダ

Original_dataというサブフォルダを作るのが最重要です.入手したオリジナルデータは絶対変更してはいけません.
データを変更する場合は,コピーした上で,Dataフォルダ直下に格納します.またデータの名前は,解析することも考えて半角英数を推奨します.

R Project File

この記事では,データ解析を統計解析ソフトRを用いて話を進めます.Rを使って解析するときは,RStudioの機能であるR projectを必ず使いましょう.これにより,RStudio上でも,プロジェクトごとに解析を管理することができます.

R Projectの導入

R projectは,File→New Project
スクリーンショット 2020-10-31 15.02.49.png

Existing Directoryを選択し,先ほど作成したプロジェクトフォルダ直下のパスを指定します.そうすることで,.Rprojファイルがプロジェクトフォルダ直下に作られます.
スクリーンショット 2020-10-31 15.03.38.png

Scriptフォルダ

解析用のコードはここに格納します.自作の関数は,Fuctionsというサブフォルダに入れると良いと思います.

Scriptフォルダ内のRプログラムで,Dataフォルダ内にあるデータにアクセスしたいときは,次のコードを書きます.例はcsvファイルの読み込みです.読み込みたいファイルに合わせ,適当に変更してください.

import_data.R
imported_data <- read_csv("Data/xxxx.csv")

Rmarkdownファイルで,Dataフォルダ内にあるデータにアクセスする場合は,同じDataフォルダであってもコードが異なります.1

import_data_using_markdown.Rmd
imported_data <- read_csv("../Data/xxxx.csv")

Outputフォルダ

Rで作成した図は,Outputフォルダに出力すると,Scriptフォルダ内が乱雑にならないと思います.

こんな感じで研究プロジェクトを管理していきます.

コードの管理:GitHubとの連携

ここからRコードを管理する方法を説明します.やっぱりGit使えるとかっこいいですよね.さらにGitHubを使うと草も生えていきますし,それがモチベーションにつながるかもしれません.
(スクショ取ったけれども,ハロウィーン仕様だし,大して草生えてなくて草生えました)
スクリーンショット 2020-10-31 15.15.30.png
GitやGitHubの導入は,他の記事をご参考ください.わかりやすい記事はたくさんあると思います.

RStudioとGitHubとの素晴らしい連携記事もあります.しかし私は使いこなすことができませんでした...

  • シンプルなことしかできません.
  • たくさん覚えられません.
  • コードを共有することはあっても,基本的にコードを書くのは一人です.

こんな私でもできるミニマムな方法は次の通りです.

1. Scriptフォルダに,ターミナル等で移動

cd /Users/xxx/yyy/Script

2. GitHubでリポジトリを作成

Repositoris→Newをクリック!
スクリーンショット 2020-10-31 15.33.18.png
適当にRepository nameをつけて,Create repositoryをクリック! コードのアクセス権をPublicにするかPrivateにするか注意してください.
スクリーンショット 2020-10-31 15.34.10.png

3. ScriptフォルダとGitHubを連携させる

さきほどのターミナルで

git init

4. アップするコードを選ぶ

git add demo.R

5. 適当にコメントします

後で振り返った時に,何か分かるようにコメントします.

git commit -m "適当にコメント"

6. おまじない

よくわからないけど,おまじないします.2

git branch -M main

7. 一時的な置き場所にコードをプッシュ

git remote add origin https://github.com/ID/demo.git

これは,2の作業を終えた後に,GitHubで出してくれるページに書いてあります.6番目です.
スクリーンショット 2020-10-31 15.43.13.png

8. 最後にGitHubにプッシュ

git push -u origin main

2回目以降は?

4から8を繰り返します.
そう!結局は,7であげたスクショのコードです!正直なところ何をやっているかよく分からないところもありますが,結果的にコードをGitHubで管理できています!!2
スクリーンショット 2020-10-31 15.47.48.png

最後に

私なりのミニマムな研究プロジェクトの管理方法を書いてみました.
特にGitHubの連携なんか何も工夫していません.
でもGitHub使ってコードを管理したいけど,どうしたらいいか分からない人にとっては,こういうことも分からないんです.
この記事がそのような方々の背中を押すことができれば嬉しいです.


  1. なぜだかわかりません.誰か教えてください 

  2. 強い方々,雑だと怒らないでください 

79
94
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
79
94