なぜみんなR AnalyticFlowを使わないのか？

[R Advent Calendar 2020](https://qiita.com/advent-calendar/2020/rlang)の11日目の記事です。

Rといえば当然RStudio！みたいな空気ありますが、「R AnalisticFlow」ってのもあるんだよ！
ステマでも回しものでもないのですが、フリーで長らく便利に使わさせてもらっているのに、
検索してもあまり使っている記事がないので、、、
何より国産（日本の会社が作ってる）のでなんとなく応援できればと。。
用途によっては結構、RStudioより便利で適材適所で活用できれば！というのを伝える記事です。
（※内容的にWindows + Excel・PowerPointなどを使う人向けな感じです。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22963/e932ef69-c3e0-9585-57e0-792d762355c2.png)
https://r.analyticflow.com/ja/

## ここが便利
基本的な特徴は[公式ページ](https://r.analyticflow.com/ja/)を

### ノードで分岐がきるので一本道でないことができる
ノードと呼ばれるスクリプトのまとまりを複数つくり、それをつなぐことができます。
ゆえに、役割ごとにノードを分けて数珠つなぎにして、連続して実行したり、Rファイルとして出力することができます。
途中で分岐させることもできるので、共通な処理から、様々な試行したいときなどに便利です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22963/47ecbabf-2ec5-0eef-2c41-4b408cb3e835.png)
RStudioなどで書いていると、「ここまでは共通なんだけど、この先やり方を別でやりたいんだよね」みたいなときに別ファイルにしたりするのですが、ただ共通部分を片方で更新して、もう片方で更新を忘れたりなどよくやっていて、一本道ではない試行の場合はなかなか便利です。

また基本的に1ファイルにまとまってしまうのでバージョン管理などで困るのですが、ノードは外部のRファイルを参照することもできるので、ノードを外部ファイル化してgitで管理というのもできます。

### ちょこっと試行が残しやすい。
「ちょっとこれ試しに書いてみよう」と思った時に、つながらないノードを作って試行して、うまくいったら本流の流れに合流させるなど、ちょっとした砂場を作って試すのに便利です。つながっていなければ、一連の実行の時には関係ないので、試行を残しておくにはちょうどいいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22963/f4138bf9-9c93-bada-5f5e-2fb1b3a1e0bb.png)
ただ、整理できない子が、勢いに任せて作っていくと、とっ散らかってしまいます。。
（後から何がなんだか分からないことに、、コメントなどできちんと内容記載が大事）

### 一度流れを組んでしまえば非R習得者でも扱いやすい
普通のRスクリプトでも、「よくわかならなくてもこのRファイルを投げ込んでね！」という運用でもできますが、基本定型の流れを作って、「このフローを実行してね」とすると、比較的非R習得者でも使えるので、定型ワーク化できるような作業の場合は分業できて便利です。

## ここが地味に便利

### 変数のプレビューが親切

たとえばこんな感じで色々な型の変数作ったとして、

```R
# データフレーム
test <- iris

# nestしたもの 
test_nest <- test %>% 
	group_by(`Species`) %>%
	nest() 

# lmなどしてみる
test_lm <- lm(test)
```
こんな感じによしなに、変数の型とか、構成とか、値などをプレビューできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22963/ce26392f-6f38-8762-9ced-3614c4442e3e.png)
作った変数がどんな型でどんな構成で、サイズ（行数・列数）がどれくらいで、値もすぐ確認できるので、初学者でもわかりやすくてイイ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22963/f5cb83ff-5a42-143f-7db8-135a1aabd823.png)
地味に便利なのが、変数名を右クリックして「完全なオブジェクト名をコピー」とかすると、「test$Sepal.Length」みたいな形で貼り付けられる。しかも複数選択するとカンマで区切られた形になるという、いたせりつくせり感！
長い変数名とか、データフレームの列名などを扱うときに補完は効くとはいえ毎度毎度打つの面倒な時に便利です。

### Excelに貼り付ける時に便利
プレビューをそのまま選択 or `Ctrl-A`で全選択して、コピーするとそのままExcelに貼り付けれられます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22963/c44302d5-e3d7-deed-7f21-ec26994d32d9.png)
このちょっとしたことですが、RStudioではセル単位ではなくテキスト選択になってしまうので、行番号が入ってしまってずれてしまったり、選択範囲ミスで数値が欠けてしまったりでムキー！となってしまうので、精神衛生上とてもよいです。
しかも、普通にコピーしたら、値だけで列名や行名は入らずなのですが、「名前つきコピー」を選ぶと、、、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22963/82c9d43d-333d-0a01-dcaf-40b45419ee20.png)
列名や行名も一緒にコピーするかを選択できるといういたせり尽くせり感。

これ、何がよいかというと、Excelでは力不足だけど、Excelファイル読み込んでとかまでは面倒なちょこっとした集計・整形とかを

```R
# Excelからコピー
tmp <- read.table("clipboard")

# Macの場合は
# tmp <- read.table(pipe("pbpaste"))
```

で持ってきて、整形処理して、プレビューで確認しつつ、必要な部分だけコピーして、Excelに貼り付け。
なんてのが簡単で便利です。

### グラフの扱いが便利
ggplotなどで、作図をした時に、別タブでグラフができます。ここまではRStudioでも同じですが、図をコピーするとき、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22963/da266889-9c83-8342-dabf-fda02f229449.png)
「メタファイルとしてコピー」を押すと、パワポで貼った時に、メタファイルとして貼り付けられます。
拡大縮小しても文字がつぶれないのいうのと、パワポで「グループ解除」をすると、グラフをOfficeの描画オブジェクトとして弄ることができます。グラフの結果をいじるのはそれはよくないですが、文字の大きさとか配置とか、どうしても記述じゃうまいこといかなかったり、解決に時間かかってしまいそうなときに便利です。


## 国産フリーなので応援したい。
という感じで、特定の人には結構便利なのでは？と思うので、是非！