RStudio Cloud 入門

## 目次

* [**はじめに ~ RStudio Cloud とは？ ~**](#はじめに-rstudio-cloud-とは-)
* [**関連記事**](#関連記事)
	* [RStudio Cloud の関連記事](#rstudio-cloud-の関連記事)
	* [RStudio の関連記事](#rstudio-の関連記事)
* [**RStudio Cloud の導入**](#rstudio-cloud-の導入)
	*  [アカウントの作成](#アカウントの作成)
	*  [概要](#概要) 
		*  [Spaces](#spaces)
		*  [Learn](#learn)
*  [**RStudio Cloud の使い方**](#rstudio-cloud-の使い方)
	*  [Your Workspace の使い方](#your-workspace-の使い方)
		*  [Project の使い方](#project-の使い方)
		*  [Project の共有・他人の Project へのアクセス](#project-の共有他人の-project-へのアクセス)
	*  [RStudio Cloud による共同作業のやり方](#rstudio-cloud-による共同作業のやり方)
		*  [メンバーの招待](#メンバーの招待)
		*  [Project へのアクセス](#project-へのアクセス)
		*  [Workspace の設定](#workspace-の設定)
		*  [班で共同作業をする場合](#班で共同作業をする場合)
* [**まとめ**](#まとめ) 
* [**RStudio の使い方**](#rstudio-の使い方)
	* [概要](#概要)
	* [ワーキングディレクトリ](#ワーキングディレクトリ)
	* [RStudio の設定](#rstudio-の設定)
		* [RStudio のレイアウトの変更](#rstudio-のレイアウトの変更)
		* [RStudio の外観の変更](#rstudio-の外観の変更)
	* [Keyboard Shortcuts](#keyboard-shortcuts)
		* [一般的なショートカット](#一般的なショートカット)
		* [コードの実行・エディタ操作に関するショートカット](#コードの実行エディタ操作に関するショートカット)



----------

## はじめに　~ RStudio Cloud とは？ ~
[`RStudio`](https://rstudio.com/)は、プログラミング言語[`R`](https://www.r-project.org/)の[`IDE`](https://ja.wikipedia.org/wiki/%E7%B5%B1%E5%90%88%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83) (統合開発環境) であり、多くの`R`ユーザーが利用しています。`R`や`RStudio`は、[`Python`](https://www.python.org/)とは異なり導入や環境設定がそこまで難しくないですが、それでもクラウド環境で作業をしたい、という需要はある程度あります。
`Python`や[`Julia`](https://julialang.org/)などのプログラミング言語においては、[`Google Colaboratory`](https://colab.research.google.com/)とよばれる無料で使えるクラウド環境が提供されており、ローカルに環境を構築しなくとも、コードの共有や共同作業などが簡単にできるようになっています。
`Google Colaboratory`では残念ながら`R`はまだ提供されていませんが、[`RStudio Cloud`](https://rstudio.cloud/)とよばれるクラウド環境により無料で似たようなことができるようになっています。

このあと説明していきますが、`RStudio Cloud`では、`Mac`, `Windows`といったOSに依存せず、また自分の`R`環境を他人に共有できたりするので、特に教育用の目的に利用するには向いていると言えると思います。実際、このマニュアルも私の所属する[生物測定学研究室](https://www.ut-biomet.org/)の学生実験で`RStudio Cloud`を使うにあたって、作成したものです。

----------

## 関連記事
### RStudio Cloud の関連記事
- [RStudio Cloudの基本的な使い方](https://qiita.com/purple_jp/items/943ea284c9ce7213a211)
- [RstudioCloudの使い方](https://qiita.com/petadimensionlab/items/ea164445e455d2c52b66)

`RStudio Cloud`自体が最近ベータ版になったこともあり、かなり記事の数自体が少なく、さらに、共同作業に関する記事はほとんどなかったように思います。

### RStudio の関連記事
- [RStudioの基本的な使い方・設定](http://plaza.umin.ac.jp/~takeshou/R/RStudio1st.html)
- [データサイエンス基本編 | RStudioの操作画面を理解しよう！](https://attracter.tokyo/tech/understand_operation_screen_rstudio/)
- [R Tips & Tricks](https://juliendiot42.github.io/RTips-Tricks/)

一番下の記事は、フランス人の友人が書いたものです（もちろん英語）。少しアドバンストな内容もありますが、`RStudio`に関する多くのTipsを紹介しており、一読の価値ありだと思います。


----------


## RStudio Cloud の導入
### アカウントの作成
まず、**`RStudio Cloud`のホームページ (https://rstudio.cloud/) にアクセス**しましょう。
すると、以下のような画面が出てくると思うので、アカウントを持っていない場合は **"`Get Started`" というボタン**を押してみましょう。

![Fig1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/bff69e5c-38b3-8142-eca3-ef787e4e8801.png)



"`Get Started`" というボタンを押すと、アカウント作成画面に移行します。

![Fig2-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/5b360af3-90a1-3a66-3e4d-67070afac267.png)

メールアドレスとパスワード、名前を打ち込んでもアカウントが作れますが、**Googleアカウント**を持っている人は、それを利用してログインするといいでしょう。
ログインに成功すると、名前を決めるよう言われるので、**名前を決めてアカウントを作成**しましょう！
（なおこのとき確認メールが届くと思うので、メール内にあるリンクをクリックしておきましょう。）

ちなみに、普通の`RStudio`みたいな感じでデスクトップ版のアプリっぽく使いたいときは、`Google Chrome`をブラウザとして使っているなら、以下の画像のように、`そのほかのツール > ショートカットを作成`を押して、`ウィンドウとして開く`にチェックを入れることで、それっぽい感じで使えるのでオススメです。

![Fig3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/eb9ee72a-0a8f-722f-04fa-0e28ca5be9d5.png)



### 概要
アカウントの作成が終わると、以下のような画面に移行します。

![Fig4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/0d235b38-76bc-3f61-9afc-ae17d1596635.png)


以降では、**左側にある各タブ** (画像の①)、つまり`RStudio Cloud`でできることについて簡単に説明していきます。

#### Spaces
##### Your Workspace
現在は`Your Workspace`というタブにいるのがわかると思います。
この`Your Workspace`というタブでは、**自分専用の`Project`**を作ることができ、いわゆるローカル環境と同様の作業を行うことができます。詳細については[後](#your-workspace)で説明します。

##### New Space
`New Workspace`タブを押すと、自分の好きな名前で`Workspace`を作ることができます。このようにして作った`Workspace`は**他人と共有することも可能**です。詳細については[後](#rstudio-cloud-による共同作業のやり方)で説明します。


#### Learn
##### Guide
**`RStudio Cloud`の使い方**に関することが全て書かれています。一読すれば、`RStudio Cloud`の使い方をほぼマスターできると思います。このマニュアルも、`Guide`タブに書いてあることの和訳を多く含みます。

##### What's New
`RStudio Cloud`に関する更新情報です。


##### Primers
`Primers`ではデータサイエンスのための**`R`言語の使い方の基本を網羅したチュートリアル**により、インタラクティブに学ぶことができます。`R`初学者の方は、ぜひ`Primers`タブを使って勉強してみましょう！


##### Cheat Sheets
`Cheat Sheets`タブでは`R`に関するいろいろな**チートシート**をダウンロードすることができます。深層学習や時系列データなど、データ解析に関するチートシートもあるので、一見の価値ありです。

##### そのほかのタブ
フィードバックや利用規約に関するものなので、そこまで気にしなくていいでしょう。


----------


## RStudio Cloud の使い方
### Your Workspace の使い方
#### Project の使い方
`RStudio Cloud`における**`Workspace`とは、いくつかの`Project`を含むことができる作業スペース**となっており、なかでも`Your Workspace`は**個人専用**の`Workspace`となっています。
では、`Project`とはなんでしょうか？**`Project`は、`RStudio Cloud`の基本的な作業単位で、`R`コード、パッケージ、データなどをカプセル化したもの**となっており、`Project`同士は互いに独立したものとして使うことができます。ローカルの`RStudio`における`R Project`と同様のものなので、こちらを使ったことがある人はイメージしやすいでしょう。（`RStudio`を使ったことがない人は、[RStudio の使い方](#rstudio-の使い方)を参考にしてみてください。）

では、早速以下の手順で新しい`Project`を作ってみましょう。
と言っても簡単で、先ほどの画像の右上 (画像の②) にある、**`New Project`ボタンを押すだけ**です。

すると、少し時間をかかりますが、自動で`Deploying Project > Opening Project` という表示が出たのち、以下の画像のような`RStudio`と同様の画面が現れます。

![Fig5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/bb9821c4-0e67-8549-f144-9cea4219fb6b.png)

画像にもある通り、現在`RStudio Cloud`のバージョンは`4.0.0`とほぼ最新バージョンになっており (画像の①)、普段バージョン`3.6.3`以前のものを使っている人は、仕様上いくつか異なる点があるので、注意が必要です。

さて`Project`を開いたら、まず画像の②の部分から、**`Project`名を変更**しましょう。

次に、**画像の③の`Files > Upload`から解析に必要なデータなどをアップロード**することができます。複数ファイルやフォルダをいっぺんにアップロードすることもできるようです。

準備が整ったら、通常の`RStudio`と同様に、画像の④から新しい`R`スクリプトなどを開いて、通常の`RStudio`と同様にコーディングをはじめましょう！**`RStudio`の使い方がわからない人は、[RStudio の使い方](#rstudio-の使い方)**を参考にしてみてください。


##### 例
上の手順に沿って、データなどをアップロードすることで、以下のようなサンプル`Project`、`myExample`を作りました。ここでは、`R`で基本的な統計解析について勉強できる、[**Introductory Statistics with R**](https://link.springer.com/book/10.1007/978-0-387-79054-1) (`ISwR`) という本の第4章の一部を抜粋したコードを、以下のような形で書きました。


![Fig6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/61ef362a-8134-a14d-ef59-feafc713cbf5.png)


ここで、画像の①の`Files`では、以下のようにフォルダを作成しファイルをアップロードしました。（フォルダは自分で作成）

- `.Rhistiry`: 元からある履歴などを保存するファイル。
- `data`: 読み込みたい**データを格納**するフォルダ。
	- `juul.csv`: `ISwR`で用いるデータ。`data(juul)`でも読み込めるが、`Upload`の機能をチェックするため、**ローカルからアップロード**した。
- `project.Rproj`: 元からある`Project`の設定情報を含むファイル。
- `results`: **結果を出力**するフォルダ。はじめは中身は空だが、コード上で`juulNew.csv`というファイルを書き出す。
- `scripts`: **スクリプト**を含むフォルダ。
	- `ISwR_Chapter4.1_modified.R`: 今回用いたサンプルのコード。

また、画像の②を見ると、コードを実行するのに必要な`ISwR`パッケージがインストールされていないことがわかります。そんな時は、**②の`Install`ボタンや③の`Tools > Install Packages...`からインストール**しましょう。あるいは④のように

```r:install_IsWR.R
### If you have not installed ISwR package yet, then install by:
if (!requireNamespace("ISwR", quietly = TRUE)) {
  install.packages("ISwR")
}    ### or you can install by `Tools > Install Packages...`
```

と言う感じで、**スクリプト上からパッケージをインストール**もできます。

パッケージのインストールができれば、あとはコードの上から順に `Ctrl + Enter` (`Windows`/`Linux`) または `Cmd + Return` (`Mac`)  で実行していけば良いですね。


#### Project の共有・他人の Project へのアクセス
`Your Workspace`でできることとして、**自分の作った`Project`を他人に公開**したり、**他人の作った`Project`にアクセス**することができます。

自分の作った`Project`を他人に共有するには、まず下画像の①の設定マークを押し、**②の`Access`タブから、`Who can view this project`を`You`から`Everyone`に変更**します。
（ちなみに画像の①の設定からは、`Info`タブで**プロジェクトの説明**を書いたり、`Resources`タブからは`Project`の計算に用いる**メモリ・CPUの設定**もできます。）

![Fig7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/455b5050-23d3-0c62-50a0-135d15b97ab4.png)


その後、画像の③のように、**ブラウザから`Project`のURLをコピー**して、他人と共有すればOKです。
あるいは、①の設定の隣にある④の`...`マークから、`Share Project Link`を押せば、共有したい相手のメールアドレスを指定することで、他人に**メールによりURLを教えることも可能**です。

一方で、他人の作った`Project`にアクセスするのには、教えてもらったURLをブラウザで開けばOKです。
ブラウザで開くと、自動で`Deploying Project > Opening Project` という表示が出たのち、以下の画像のように`RStudio Cloud`が立ち上がります。

![Fig8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/1d465982-3c2c-3ddd-d5cf-0ab96ebfa38b.png)


（わかりにくいですが、先ほどの[**例**](#例)で`Hamazaki Kosuke`のアカウントで作った`Project`を`Kosuke Hamazaki`というアカウントで開いています。）

まず画像の①からわかるように、他人の作った`Project`のURLをブラウザで開いています。
そして、②を見ると、[**例**](#例)でみた**フォルダやファイルがそのままコピー**されていることがわかります。
さらに、③のように、まだこのアカウントでは何もインストールなどしていないのに、**`ISwR`パッケージがインストール済み**であることがわかります。
このように、他人の作った`Project`が、データだけでなく、インストールされたパッケージなど**環境そのものにアクセス**できており、講義やワークショップなどで使う際などには非常に役立つと思われます。

このようにしてアクセスした他人の`Project`を一時的に編集することは可能ですが、その変更は**元の`Project`に反映はされません**（この時画像の④のように`TEMPORARY PROJECT`という表示が出ています）。その`Project`を保存して、自分用にカスタマイズしたい場合には、**画像の④の`Save a Permanent Copy`というボタンを押しましょう**。すると、自分専用の`Project`として`Your Workspace`に保存することができます。なおこうして保存された`Project`は、元の`Project`とは独立なものとなり、自分で行った変更は他人の`Project`には反映されないことには注意が必要です。（つまり**共同作業はできません**。）

具体的な例として、先ほどの[**例**](#例)で作った`Project`のURLを貼っておくので、自分の`Your Workspace`に保存できるか是非試してみてください。

`myExample`: https://rstudio.cloud/project/1329034

なお、`Your Workspace`に戻ってみると、下図のように、**自分だけがアクセスできる`myLockedExample`には鍵マークがついているのに対し、先ほどリンクを共有した`myExample`には鍵がかかっていない**ことがわかります。

![Fig9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/e87d4fa2-989e-c0bd-bebe-64a944625b77.png)



### RStudio Cloud による共同作業のやり方
#### メンバーの招待
共同作業をするためには、まず**共同作業をするための`Workspace`を作る**必要があります。なおこのような`Workspace`のことを、`Private Space`とよぶようです。
これには、**左側の`New Space` (下画像の①) を押して**、`Workspace`の名前を決めましょう (下画像の②)。

![Fig10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/34a6595c-82b9-e811-4196-a3d61c3be1c7.png)


しかし、これだけでは共同作業をすることはできません。
共同作業をするには、下画像の①の**`Members`タブを押し、②の`Add Member`から、共同作業したい相手のメールアドレスを打ち込み、`Workspace`への招待**を行いましょう。

![Fig11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/d8f1c19d-0576-0060-e809-658a371f9740.png)


ここで、招待を行う際には、以下の画像の①のように、**招待する相手の役割**を選択することができます。
役割はそれぞれ、権限を多く持つ順に

- **`Admin`**: メンバーの管理を行える。また、スペース内のすべての`Project`を表示、編集、管理することができる。
- **`Moderator`**: スペース内のすべての`Project`を表示、編集、管理することができる。
- **`Contributor`**: 自分の`Project`を作成、編集、管理することができる。デフォルト。
- **`Viewer`**: スペース内の全員と共有している`Project`を閲覧できる。

の4つに分かれているので、**相手に応じて適切な役割を設定した招待**しましょう。

また、いちいちメールで招待を送るのが面倒な場合は、下画像の①のように`Options > Access`の設定を、**デフォルトの`Invitation required`から`Shared`に変える事で、`Copy Sharing Link`から一斉共有用のリンクを取得**できます。招待したい人が`Workspace`に参加したのを確認した後、`Invitation required`に設定を戻せば、それ以上外部の人間が`Workspace`に参加できなくなるので、講義などで共同作業をしたいときには便利な機能と言えるでしょう。


<a id="accessProject"></a>
#### Project へのアクセス
共同作業用の`Workspace`では、`Contributor`以上の権限をもつ人は、自由に`Project`を作成できますが、この`Project`を他人に公開するかどうかを決めることができます。**デフォルトでは、非公開**になっていますが、以下の画像の①で設定マークを押し、②の`Access`タブで、`Who can view this project`の設定を**`You`から`Everyone in collaborationSpace`に変更することで、共同作業相手に`Project`を見せる**ことができます。（ちなみに非公開の場合、`Project`の存在自体確認することができません。）

![Fig12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/7da9c473-b55a-e054-34fa-1837cf6eb3df.png)



ここでいう`Project`を見せる、とは [Project の共有・他人の Project へのアクセス](#shareAndAccess) で紹介したアクセスの仕方と同じになります。
ただし、どのような設定にしていても、**`Admin`と`Moderator`は全ての`Project`の閲覧・編集が行えます**。

なお、**現在は同時進行で共同編集はできない**ため、仮に、他人が作った`Project`を、`Admin`や`Moderator`が閲覧・編集しようとすると、下図のように、先に作業していたユーザーが**`Project`に一時的にアクセスできなくなります**。

![Fig13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/f7a4f200-cd8f-a591-36f3-2b97a875ecfd.png)


ただ、再読み込みや`Reconnect`ボタンを押すなどしてもう一度その`Project`にアクセスすると、**もう片方（あるいは他のすべて）のユーザーが`R Session Disconnected`**になります。


##### 課題の作成
②の`Access`タブで、`Who can view this project`の設定を`You`から`Everyone in collaborationSpace`に変更する際に、**`Make this project an assignment`にチェックを入れると、この`Project`を課題として扱う**ことができます。例えば、教職員が、必要なパッケージやデータ、コードを詰め込んだ`Project`を作ったのち、これを課題とすると、**学生がこの課題にアクセスするだけで、自動でこの課題を`Private Space`に保存**し、変更を加えることができるようになります。学生によって自動で作られた`Project`は、`Admin`である教職員がすぐチェックできるようになります。（元の`Project`の下にある`View n derived objects`で確認できます。）
なお、**課題は教職員が元の`Project`に変更を加えても、その変更は既に課題を始めた学生の`Project`には反映されない**ので、注意が必要です。


#### Workspace の設定
共有している`Private Space`のトップ画面まで戻ってきて、下画像の①の設定マークを押すと、②, ③から`Base Project`を選択できます。**`Base Project`とはその`Workspace`におけるデフォルトの設定などを定めた`Project`**を指します。例えば、下画像の③の`adminExample`にパッケージやフォルダを入れておき、これを`Base Project`として指定しておくと、今後作られた新しい`Project`（既に作られているものには当てはまらない）は、**パッケージやフォルダ構成が自動で`adminExample`と同様のもの**になります。

![Fig14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/1eb250be-53fb-e6c1-dfc9-77aae6bd280a.png)


なお、このように**`Base Project`として指定するには、`Workspace`内の全員に`Project`を公開している必要**があります。そして、`Base Project`に指定すると今後その`Project`は設定を変えるまで誰からもアクセスできなくなります。



#### 班で共同作業をする場合
これは`Guide`には載っていなかったのですが、同時に共同編集できない現状の中、**班で共同作業する方法**を少し考えたので、ここではそれを紹介します。

1. 班での共同作業用の`Private Space`を作り、**班員全員を招待**する。
2. まず**班員全員の役割を`Moderator`以上**にする。
3. 下図①のように**それぞれの班員が、1つずつ自分用の`Project`を作る**。（`HKProject`と`KHProject`）

![Fig15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/5cdcec05-b15c-c44b-00cd-fd01749cbf1d.png)
4. 上図②の`groupProject`のように、**班全体での`Project`を1つ作る**。
5. 各人は、普段は**自分用の`Project`でコードを書き、ある程度形になったら`groupProject`にコピペ**する。
6. 互いの**進捗状況が気になっている時は、他人の`Project`に一瞬お邪魔**する。この時、元のユーザーは`R Session Disconnected`になってしまうので、**必ず一声かけてから**見せてもらう。

こうして作業を進めていき、最後に`groupProject`を代表者が整えて、発表などに使いましょう。
なお、6.のように、他人の`Project`に入ると、その人の解析を邪魔してしまうので、頻繁には見に行かないようにするほか、**SNSなどの連絡手段を使って、連絡を密に取り合うようにする**と良いと思います。
また、TAや教職員を班に入れておくことで、彼らが進捗状況を見回りつつ、アドバイスをすることもできるでしょう。



----------


## まとめ
いかがだったでしょうか。`RStudio Cloud`の主な使い方としては、こんなところです。少し詳しく説明し過ぎたところもありますが、ユーザーが学生か教職員か、などによって利用の仕方がかなり異なるので、ここでは両方含めた形で説明しました。
少し触ってみたところ、無料アカウントでは、1つの`Private Space`内に作れる`Project`が25個までであったり、一人が作れる`Private Space`の数が1つまで（招待される分には何個でも大丈夫）など、いくつか制限はありますが、`Your Workspace`を使う分には、何の不自由もないように思います。
ただ、まだ同時に共同編集ができなかったり、たまに`Project`の読み込みが遅い時もあります（こういう時は一度ログアウトしてログインし直しましょう）。
このように少し不便に思うところもありますが、現状でも十分使うメリットがあるものだと思います。
逆に言えばまだまだ使いやすくなるポテンシャルを秘めているということですしね。

というわけで、このマニュアルを読んで少しでも`RStudio Cloud`を楽しんで使っていただければ幸いです。


---------


## RStudio の使い方
以下では、[`RStudio`](https://rstudio.com/)初心者の方のために、`RStudio`の使い方について簡単に説明していこうと思います。
なお、ここでは`RStudio Cloud`での使用を前提として、`RStudio Cloud`の画面で説明を進めていきます。
`RStudio`をローカルで使いたい時は[ここ](https://rstudio.com/products/rstudio/download/)からダウンロードできます。


### 概要
`RStudio`は、以下の画像のように、**4つの区画（ペイン）に分かれており**、基本的にはそれらを同時に表示しながら使います。

![Fig16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/c5b74701-cf4a-bd51-a3a7-f11adf826183.png)


デフォルトでは、画像の**①が、ソースコード**（`R`コードやコメントを含むもの）を表示するペイン、**②が、コンソール**（`R`コードを実際に実行する場所）を表示するペイン、**③が現在の環境**（読み込んだデータや自分で作った変数など）を表示するペイン、**④が作業している場所のファイル・フォルダ**を表示したり、**`R`で描画したプロット**などを表示するペインとなっています。他にもいろいろなペインがありますが、詳しくは[RStudioの基本的な使い方・設定](http://plaza.umin.ac.jp/~takeshou/R/RStudio1st.html)という記事を参考にしてみてください。

とりあえずここで覚えておいて欲しいことは、
1. **コードは必ず①に書き溜める**。
2. 書いたコードは、**①で実行したい部分を選択**、あるいは実行したい行にカーソルを合わせた状態で、**`Ctrl + Enter` (`Windows`, `Linux`) / `Cmd + Return` (`Mac`) を押すと、②でコードを実行**でき、結果が表示される。
3. ②においてコードが実行されると、外部からデータを読み込んだり新しい変数を自分で定義したりすると、その**情報が③に表示**されていく。
4. ②でファイルを書き出したり読み込んだりするときには、ファイルを表示するペインが便利であるほか、②でプロットを描画するコードを実行すると、結果が④に表示されていく。あとは関数のヘルプとかも④に表示される。

ということです。


### ワーキングディレクトリ
**ワーキングディレクトリとは、`R`が実際にファイルからデータを読み込んだり、逆にファイルにデータを書き出したりする場所**を指します。通常の`R`では、ワーキングディレクトリはホームディレクトリ（`R`の実行ファイルがある場所）となっているのですが、**`RStudio Cloud`では`Files`ペインではじめに表示されているディレクトリがワーキングディレクトリ**となっています。ワーキングディレクトリを変更するには、上のメニューの`Session > Set Working Directory > Choose Directory...`から変更を行うこともできますが、以下の方法の方が個人的にはおすすめです。
例えば、`myExample`という`Project`で、`data`というフォルダをワーキングディレクトリにしたいなら、以下の画像のように、**① `Files`から`data`フォルダの中に移行して、② `More > Set As Working Directory` で設定**できます。

![Fig17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/57f30ee0-9657-5bb9-8d9c-2f63fb684f29.png)



他にも`R`のコード上で`setwd()`関数を使ってワーキングディレクトリの`PATH`を指定する方法もありますが、上のやり方の方が簡単でやりやすいと思います。


### RStudio の設定
`RStudio`の設定は、下画像の①のように**`Tools > Global Options...`から変更**できます。

![Fig18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/a3bd0ce3-8b87-4f39-76fc-11176511f4e9.png)


設定では、コードを書いている際のことから、外観まで色々と変更を行うことができます。
ここでは、コードの設定については割愛して、**外観を変える話**だけしようと思います。
**`RStudio`のおすすめの設定に関しては、[R Tips & Tricks](https://juliendiot42.github.io/RTips-Tricks/)という記事がかなり詳しく紹介**してくれているので、ぜひそちらも見てみてください。

#### RStudio のレイアウトの変更
`Tools > Global Options...`を押すと、下の画像のように真ん中に`Options`が現れるので、まず①のように`Pane Layout`タブを押してみてください。すると、**各ペインを色々と動かせる**ようになっているのがわかると思います。
なお、全てを自由に動かせるわけではなく、`Source`と`Console`ペインにはそれぞれ一つの区画が割り当てられ、残りの2つの区画をその他のペインで取り合う、という感じになっています。

![Fig19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/ae367102-47da-6dc6-db30-38acdf794069.png)

上の画像の② ~ ④は、オススメの`Pane Layout`を示しています。
まず、**②のように右上に`Console`**をおくことで、`Source`ペインとの間の視点移動がしやすくなります。
また**③のように左下にはそこまで使わないペイン**を集めておくことで、普段は下図のように、**`Source`ペインを広く使いながらコード書く**ことができます。そして、④のように残りの比較的よく使うペインを右下に集めておく、というわけです。

![Fig20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/27bd9463-e214-e576-60db-e0fc3f1536b2.png)

ただあくまで、これは好みの問題も多く含むので、自分にとって適切だと思う配置にして、効率よく作業できる環境にしておきましょう。


#### RStudio の外観の変更
再び、`Tools > Global Options...`を押し、下画像の①の**`Appearance`タブを押すと、外観をいじる**ことができます。

![Fig21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/93317adf-a4d5-4141-7a91-579466d78506.png)

②の`RStudio theme`からはペインの外の枠などの印象を変えることができます。例えば、`Modern`から`Sky`に変えると、後ろに写っているように水色がかった枠に変化します。③の`Editor font size`ではその名の通りフォントサイズを変えられます。また、**④の`Editor theme`では、それぞれのペインの背景色や、コードの色などの変更**が行えます。右側の例が示している通り、`Editor theme`によってガラッと印象が変わるので、自分の使いやすいものを選びましょう。特に、**背景を明るいものにするか暗いものにするかというのは大事**な選択ですね。
（ちなみに、ローカルの`RStudio`の場合、これらに加えて**フォントの種類**も選ぶことができます。）

さて、このように設定を変更すると、以下の画像のように外観が変化しました。
外観をいじるだけでこんなに印象が変わるので、**自分の使いやすいものを納得いくまで選ぶといい**でしょう。

![Fig22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/74afa428-47ea-d1d8-529e-e307289ad4e3.png)

![Fig23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/641de806-c85d-f461-5585-7f1841ddb794.png)


### Keyboard Shortcuts
最後にいくつかの`Keyboard Shortcuts`を紹介したいと思います。`Keyboard Shortcuts`を知っておくと、コードを書くスピードが圧倒的に速くなるので、よく使うものは覚えておくようにしましょう。
なお、`Windows`, `Linux`と`Mac`の間で違うものは、

- `Ctrl + Z` / `Cmd + Z` : 元に戻す

のように、/ で区切った1つ目が`Windows`, `Linux`、2つ目が`Mac`用のショートカットです。
また、個人的によく使うものを太字にしておきます。


#### 一般的なショートカット
他のものと共通しているショートカットが多いです。

- **`Ctrl + Z` / `Cmd + Z` : 元に戻す**
- **`Ctrl + Shift + Z` / `Cmd + Shift + Z` : やり直し**
- `Ctrl + A` / `Cmd + A` : 全選択
- `Ctrl + C` / `Cmd + C`: コピー
- `Ctrl + V` / `Cmd + V`: ペースト
- `Ctrl + S` / `Cmd + S` : ファイルの保存
- **`Ctrl + F` / `Cmd + F`: 現在のファイル内での検索（`R`の検索・置換はめっちゃ便利です）**
- `Ctrl + Shit + F` / `Cmd + Shift + F`: 複数ファイル間での検索
- `Ctrl + w` / `Cmd + W`: 現在のタブを閉じる
- **`Tab` : インデント・自動補完**
- **`Ctrl + Shift + F10` / `Cmd + Shift + 0` : `R`セッションの`Restart`。計算を初めからやり直す際などに行う必要がある。**



#### コードの実行・エディタ操作に関するショートカット
- **`Ctrl + Enter` / `Cmd + Return` : 選択した行の実行。あるいはカーソルのある行を実行し、次の行へカーソル移動。**
- `Alt + Enter` / `Alt + Return`: カーソルのある行を実行し、その場にカーソルを留める。
- **`Crtl + D` / `Cmd + D`: その行を削除**
- **`Ctrl + Shift + D` / `Cmd + Shift + D`: その行を複製**
- `Alt + -` : `R`の代入記号 `<-` を挿入
- **`Ctrl + Shift + C` / `Cmd + Shift + C` : 選択した行をコメント（`#`+空白でコメントされている行はアンコメント）**
- `Ctrl + I` / `Cmd + I` : インデントを自動で整える。実は、**`Ctrl + A`, `Ctrl + C`, `Ctrl + V`のコンボ**でも同じことができる。
- **`Ctrl + Shift + A` / `Cmd + Shift + A` : 空白の調整などコードを自動で整える（ただし自分の望まないようになるケースもある）**
- `Ctrl + P`: 括弧の上で行うと、もう一方の対応する括弧へ移動（括弧関係のデバッグに使える）


他にも色々とありますが、**[R Tips & Tricks - 3.4 Keyboard shortcuts and useful command](https://juliendiot42.github.io/RTips-Tricks/#34_keyboard_shortcuts_and_useful_command) を参考にしてもらうといい**と思います。具体例もついていてわかりやすいです。
あとは、`Alt + Shift + K`のショートカット、また下画像の①, ②のように**`Tools > Keyboard Shortcuts Help`を押せば、`Keyboard Shortcuts`のヘルプを見る**ことができます。

![Fig24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/a36b21f4-763b-9010-4d75-9a79fa015c48.png)


ヘルプは下画像のような感じで出てくるので、必要に応じて使ってみましょう。

![Fig25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/390533/53e9c793-3b48-ec9c-5f8f-54bbb663f758.png)

----------


以上が、`RStudio`の簡単な使い方でした。まあ習うより慣れろという感じで、実際に使っていったらどんどん慣れていくと思います。今回は`RStudio Cloud`に関してピックアップしているので、説明が足りないところもありますが、わからないところがあったら、他の[関連記事](#関連記事)を見ていただいたり、自分で調べて見ていただければ幸いです。もちろん、コメントで質問していただければ、できるだけ答えて、場合によっては追記していきたいと思います。