こんにちは,shun(@datasciencemore)です!
前回はDockerを使い,環境を構築しましたね.
これでようやくRをバリバリ書いていけます!!
..といいたいところなのですが,もうちょっとだけお待ちください.
Rをバリバリ使うためにもIDEであるRStudioについて少しだけ説明させてください.
この記事でRStudioの使い方を学べばすぐにRを使えるようになるので.
それでは,さっそく見ていきましょう.
目次
1.RStudioってなに??
RStudioは,Rを使用するためのIDE(統合開発環境)のことだよ.
RStudioは,RのIDEのデファクトスタンダードで,とても高機能なんだ!!
RStudioは.4つのパネル(正式名称はPaneというみたいですが,なんて読むかよくわからないのでパネルとしますね,別にどんな呼び方でもいいです笑)で構成されています.
それぞれの名称と機能は以下のとおり
- ソースパネル:Rのソースコードを記載します.(以降,パネル1とする.)
- コンソールパネル:Rのソースコードを実行したときに出力が表示されます.(以降,パネル2とする.)
- オブジェクトパネル:Rのソースコードでオブジェクトを定義した場合,そのオブジェクトの情報が見れます.(以降,パネル3とする.)
- プロットパネル:Rのソースコードで画像を出力した時,その画像が表示されます.(以降,パネル4とする.)
[]各パネルの名称はぼくが勝手につけた名称です.
正式名称あるのかな,もしあるのであれば教えてください笑
あと各機能の説明もほんの一部です.
例えばパネル4では,パッケージとかフォルダについてのタブもあったりします.
RStudioは高機能で,機能を1から説明していたらそれだけで1か月くらい経ってしまうので,必要最低限の説明しかしていません.
細かいことにはこだわらないでたくさん使ってみましょう!
大丈夫,使っていけば自然に覚えていきます.
というのを繰り返し,実施していく感じです.
例えば,パネル1に以下のコードを入力してみてください.
1 |
1 + 1 |
1 2 |
> 1 + 1 [1] 2 |
こんな感じでパネル1にインプットとなるコードを書き,パネル2にコードのアウトプットを出力していきます.
さて今度はオブジェクトを作成してみましょう.
オブジェクトは他言語でいう変数のようなものです.
結果を格納する箱ですね.
それでは,先ほどの1+1の結果を格納するtestというオブジェクトを作成してみましょう.
コードは次のように書きます.
1 |
test = 1 + 1 |
先ほどと同様,Ctrl + Enterを押して,パネル2を見てみましょう.
1 |
>test = 1 + 1 |
オブジェクトに結果を格納しているのでパネル2には表示されないのです.
それでは,オブジェクトの中身をどうやって見るのでしょうか?
その方法は以下の2つです.
①パネル3を見る.
②パネル1上で,オブジェクトを選択し,Ctrl + Enterを押す.
①から見ていきましょう. パネル3を見てください.
こんな感じで表示されています.
続いて②です.
パネル1上で,先ほど作成したtestを選択し,Ctrl + Enterを押してみましょう.
testを選択するってことは,こういうことです.
さて,testを選択し,Ctrl + Enterを押すと,パネル2にこう表示されます.
1 2 |
> test [1] 2 |
無事にtest内を見ることができましたね.
両方ともよく使うので何回か練習して使い方を体にしみこませてくださいね笑
あっ,あとパネル4については,今はとりあえず使わないので気にしないでください.
これから画像作成したら何回もお世話になるのでご安心ください笑
2.プロジェクトファイル
RStudioには,プロジェクトファイルという便利機能が備わっています.
仕事するとき,基本はプロジェクト名のフォルダを作成して,そのフォルダ下にプロジェクトで使用する資料を格納しますよね?
RStudioでは,プロジェクトごとにプロジェクトファイルをいうものを作成できます.
これを作成することで,Rでの作業を各プロジェクトに紐づけられるのです.
- ワーキングディレクトリをプロジェクトファイルが格納されているフォルダにしてくれる.
- gitの連携が楽にできる.
- 資料の管理が楽.
- 複数のプロジェクトの管理が楽.
ひとつずつメリットを解説することはしません.(情報過多になってしまうため)
とにかく1つのプロジェクトに対し,それに対応するプロジェクトファイルを紐づけることを心がけましょう!
これもやればメリットがわかります.
それでは,さっそくプロジェクトファイルを作成してみましょう.
Dockerを使って僕の開発環境をコピーした方ならすでにr-preprocess-lectureというフォルダが開発環境上に作成されています.
なので,このフォルダにプロジェクトファイルを作成します. 以下の手順を実施します.
- パネル3付近のProject(None)⇒ New Projectをクリック
- Existing Directoryを選択し,クリック
- Browseをクリック
- r-preprocess-lectureを選択し,Chooseをクリック
- 指定したフォルダが選択されているかを確認し,OKだったらCreat Projectをクリック
- パネル4のFilesタブにr-preprocess-lecture.Rprojが作成されていたらOK
この末尾の拡張子が.Rprojとなっているものがプロジェクトファイルになります.
これでr-preprocess-lectureというフォルダとr-preprocess-lecture.Rprojをいうプロジェクトファイルが紐づきました.
以降,このR前処理講座は,r-preprocess-lectureフォルダ下に資料やコードを作成することにします.
3.パッケージ
Rには,標準ですでにある程度の関数を使用することができます.
(例えば,平均や分散などはすぐに算出できる.)
しかし,あることをすればより高度な機能を使うこともできるのです.
そのあることとは,パッケージを使用するということです.
パッケージは,以下の2つの工程を得て,使用することができるのです.
- インストール
- 呼び出し
それぞれ見てきましょう.
3.1.インストール
CRANやGitHubには,様々なパッケージがおいてあります.
install.pakages("パッケージ")とすると,パッケージをCRANから特定のフォルダにダウンロードします.
CRANは,様々なパッケージを格納するためのWebサイトのことだよ.
ちなみに読み方は「シーラン」か「クラン」だよ,どっちでもいいけど
ってことで,CRANはRのパッケージがたくさん置いてある場所って考えればOKです.
ちなみにGitHubにもRのパッケージがおいてあって,インストールすることもできるのですが,頻度は少ないと思うので,やり方は割愛します.
ダウンロードしたパッケージはどこに格納されるのでしょうか?
以下のコードを試してみてください.
1 |
.libPaths() |
すると出力は次のようになります.
1 2 |
> .libPaths() [1] "/usr/local/lib/R/site-library" "/usr/local/lib/R/library" |
この出力された1つ目のフォルダ"/usr/local/lib/R/site-library"にダウンロードしたパッケージを格納します.
ちなみに出力された2つ目のフォルダ"/usr/local/lib/R/library"には,Rをインストールしたときにデフォルトでついてるパッケージが格納されています.
3.2.呼び出し
さて,パッケージのインストールも終えたので次はそのインストールしたパッケージを使えるようにしましょう.
実は,パッケージはインストールしただけでは使うことはできないのです.
コンピュータにRのこのパッケージを使いたい!って教えてあげないといけないんですね.
それをするには,library(パッケージ)とすればOKです.
こうすることで晴れてパッケージを使えるようになりました!
3.1.と3.2.をイメージにまとめました.
こちらの例では,以下の処理を実施しています.
- CRANからパッケージ1とパッケージ2を指定のフォルダにダウンロードする.
- パッケージ2を呼び出して,Rで使えるようにする.
それでは,以下のコードをパネル1にて実施し,GGallyとpatchworkという2つのパッケージをインストールしてみましょう.
1 2 |
install.packages("GGally") install.packages("patchwork") |
実行するとパネル2に長々と以下のような出力がなされます.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
> install.packages("GGally") Installing package into ‘/usr/local/lib/R/site-library’ (as ‘lib’ is unspecified) also installing the dependencies ‘plyr’, ‘reshape’ trying URL 'https://packagemanager.rstudio.com/all/__linux__/focal/latest/src/contrib/plyr_1.8.6.tar.gz' Content type 'binary/octet-stream' length 1154926 bytes (1.1 MB) ================================================== downloaded 1.1 MB trying URL 'https://packagemanager.rstudio.com/all/__linux__/focal/latest/src/contrib/reshape_0.8.8.tar.gz' Content type 'binary/octet-stream' length 165986 bytes (162 KB) ================================================== downloaded 162 KB trying URL 'https://packagemanager.rstudio.com/all/__linux__/focal/latest/src/contrib/GGally_2.0.0.tar.gz' Content type 'binary/octet-stream' length 1556755 bytes (1.5 MB) ================================================== downloaded 1.5 MB * installing *binary* package ‘plyr’ ... * DONE (plyr) * installing *binary* package ‘reshape’ ... * DONE (reshape) * installing *binary* package ‘GGally’ ... * DONE (GGally) The downloaded source packages are in ‘/tmp/Rtmp9Gaf19/downloaded_packages’ > install.packages("patchwork") Installing package into ‘/usr/local/lib/R/site-library’ (as ‘lib’ is unspecified) trying URL 'https://packagemanager.rstudio.com/all/__linux__/focal/latest/src/contrib/patchwork_1.1.1.tar.gz' Content type 'binary/octet-stream' length 3237233 bytes (3.1 MB) ================================================== downloaded 3.1 MB * installing *binary* package ‘patchwork’ ... * DONE (patchwork) The downloaded source packages are in ‘/tmp/Rtmp9Gaf19/downloaded_packages’ |
次にインストールしたパッケージをパネル1にてlibraryで呼び出してみましょう.
1 2 |
library(GGally) library(patchwork) |
そうするとパネル2に次のように表示されます.
1 2 3 4 5 |
> library(GGally) Loading required package: ggplot2 Registered S3 method overwritten by 'GGally': method from +.gg ggplot2 > library(patchwork) |
はい,これでこれらの2つのGGallyとpatchworkというパッケージが使用できるようになりました!
4..Rprofile
さっ,続いては.Rprofileについて説明していきます.
Rprofileは,Rが起動したときに自動的に読み込むファイルのことだよ.
ここに初期設定によく使う処理を書いておけば自動的に処理してくれるから楽なんだ♪
例えば,上で説明したパッケージとかは,起動するたびにlibrary(パッケージ1),library(パッケージ2),...,ライブラリ(パッケージ10)などを実施するのは非常にだるいですね笑
そこでそのような処理は,.Rprofileに書いてあげましょう.
そうすることでわざわざ私たちが手動で実施しなくてもRのほうで自動的に.Rprofileの内容を処理してくれるのです.
それでは,ファイル作成の練習がてら.Rprofileを作成してみましょう.
以下の手順を実施してください.
- 左上のパネル1に以下のように記載する.
12345library(stats)library(tidyverse)library(GGally)library(patchwork)library(lubridate) - Ctrl + s を押し,表示されるボックスのFile name:に.Rprofileと入力し,Saveを押す.
- パネル4のFilesタブに.Rprofileと表示されていたらOK.
これで.Rprofileの完成です,簡単ですね!
こうするとRが起動するたびに.Rprofileに書かれた処理がなされるのです.
試しにCtrl + Shift + F10を同時に押してみてください.
こうすることでRのセッションを初期化することができます.
.Rprofileに記載した処理が流れるはずです.
もしCtrl + Shift + F10を同時押ししても処理が流れない場合は,以下のことが考えられますので,それぞれ対応してみてください.
①うまく保存できていない.⇒もう一回Ctrl + s をして,.Rrofileを保存してください.
②他のアプリケーション(パワポなど)のショートカットキーと競合している.⇒競合しているアプリケーションを閉じる.
③文字の入力モードが全角になっている.⇒半角にする.
5.Global Options
Global OptionsでRStudioの設定を変えられます.
色々と細かいところまで設定できるのですが,詳細は割愛します.
今回は,前回の記事の3.RStudioの設定でしたことと同じことをしましょう.
以下の手順を実施してください.
・画面左上のTools ⇒ Global Optionsをクリック
・Generalを選択し,以下のようにしてください.
- Restore .RData into workspace at startupのチェックボックスを外す.
- Save workspace to .RData on exit: をNeverにする.
6.Dockerの更新
これはRStudioでの使い方ではないですが,ついでなのでここでやっちゃいましょう.
今,私たちはDocker HubにあるDocker imageから開発環境を作成し,そこで.RprofileやパッケージのインストールやRStudioの設定をやりました.
せっかくならこの開発環境をずっと使いたいですよね?
ということでいままで作成してきた開発環境を更新し,それをいつでも使えるようにしましょう.
流れとしては以下のようになります.
- 更新内容をDoker imageにする.
- Docker Hubにリポジトリを作成する.
- 更新したDocker imageを作成したリポジトリにpushする.
それでは,詳細にみていきましょう.
6.1.更新内容をDocker imageにする.
次の手順を実施してください.
①コマンドプロンプト上でdocker psと入力し,Enter(Dockerにログインしていない場合は,ログインしてください.)
②表示されるCONTAINER IDを記録
③docker commit ②のCONTAINER ID 〇〇〇〇/r-preprocess-lectureと入力し,Enter
※〇〇〇〇は,各自のDocker Hubのアカウント名
④docker imagesと入力し,Enter
⑤〇〇〇〇/r-preprocess-lectureと表示されたらOK
6.2.Docker Hubにレポジトリを作成する.
次の手順を実施してください.
①Docker Hubに移動
②Create a Repositoryをクリック
③r-preprocess-lectureと入力し,Createをクリック
6.3.更新したDocker imageを作成したリポジトリにpushする.
コマンドプロンプトにdocker push 〇〇〇〇/r-preprocess-lectureと入力し,クリック
※〇〇〇〇は,各自のDocker Hubのアカウント名
はい,これでリポジトリに更新したDocker imageをpushできました.
こうしておけば好きな時に先ほどのDocker imageをpullしてrunすることで,開発環境を再現できます.
そのやり方については,前回の記事を参考にしてくださいね.
前回の記事では,rocker/tidyverse:4.0.3を指定してましたが,ここでは,更新したDocer imageである〇〇〇〇/r-preprocess-lectureを指定するようにしてください.
まとめ
今回はRstudioの使い方(とDockerの更新)として,以下のことをやりました.
- 4つのパネル
- プロジェクトファイル
- パッケージ
- .Rprofile
- Global Options
- Dockerの更新
これらは今は理解できなくて大丈夫です.
わからなくなった時に何回もこの記事を参照すれば,何回も使用していれば勝手に覚えていきますからね笑
どんどん次に進みましょう!
さぁ,これでR前処理講座の環境構築編は終了です!
長かった...
次回からbeseR編に突入です!!
そこからやっと本格的にRをやっていきます.
正直ここまでは全然面白くないですかね笑
ここから面白くなっていくのでこうご期待♪
それでは!!