Knowledge As Practice

JAIST(東京)で Transformative Service Research に取り組んでる社会人大学院生の研究・勉強メモ

iPad 上で RStudio を動かす(小ネタ)

RStudio Advent Calendar 2017 の20日目です。先月の Hijiyama.R で RStudio.Cloud について少し報告したのですが,よく考えれば,ネットがつながれば使えるわけです。実際,iPhone で RStudio.Cloud を使ってみた,という報告も Twitter で見かけたことがあります(出典を探せませんでした)。だったら,iPad ならどうだろう,ということでやってみました。

 
Hijiyama.R についてはこちらに詳しいです。
niszet.hatenablog.com

 
使用したのは,iPad Pro 12.9インチ(SIMフリー楽天モバイルのSIMを差しています)。まず,RStudio.Cloud にアクセスして,ログイン。私は Google アカウントでいつも接続しています。

https://rstudio.cloud/

f:id:hikaru1122:20171225223852j:plain

 
以前作ったプロジェクトを開いてみると……

f:id:hikaru1122:20171225232751j:plain

 
できた!!

 
まあ,当たり前ですね。

 
しかし,困ったことがあります。いざスクリプトを書こうとすると,キーボードの表示によって,画面半分がおおわれてしまいます。そのため,実行時にコンソールが見えず,いちいちキーボードを隠せねばなりません。こんな感じ。

f:id:hikaru1122:20171225224136j:plain

 
物理のキーボードがあればなんとかなるんじゃないかと思い,Smart Keyboard を買ってきました。今日もアップルストア心斎橋は混雑してましたね。セッティングしたらこんな感じです。

f:id:hikaru1122:20171225224810j:plain

 
これで通常の使い方(?)に近づいた感があります。気をつけたい点は,スクリプト実行のショートカットは Cmd + return ではなく,option + return であることです。

 
なんでしょう,利便性は乏しいんですが,「Rってこんなんだよ」って披露するときに使えるんじゃないでしょうか。すごくコスパ悪いです。

 
画像が暗いのは,宿泊先のホテルで撮ったたためです。すみません。

極私的Rの使い方5選(2017年版)

今年「このスライドはRで作っています」と言ったら「ええ!?」とドン引きされる経験を私もしたのを思い出し、「今年Rでやったこと」を書くのをやめて、自分のR環境と使い方について書きます。対象とするのは、Rを使うのが月に10回以下の方です(それ以上使っている人はきっと達人レベルに違いないので・・・)。

 
周りにRを使ったりする人がいないので、かなり効率の悪い方法になっていると思います。もっといい方法があれば、ぜひ教えてください。なお、本エントリーは2017年 R AdventCalender 21日目のものです。

 

1. %>% をショートカットキーなしで入力する

 
Ctrl + Shift + M、無意識に出せますか? 私はできません。でも、パイプ演算子のようによく使うものはすぐに出せるようにしておきたい。

 
3つのキーを組み合わせたショートカットは難しい(覚えるほど頻繁にRを使うわけではない。ほぼ1ヶ月使わないこともある)ので、スニペットツールで解決しています。

 
私の場合は、;;(セミコロン2つ)で %>%が入力されるように設定しています。普段は Mac なので、ツールはランチャーアプリの「Alfred」です。パワーパックにするとスニペットの機能が使えます。

 
【あとで動画を載せる】

 

www.alfredapp.com

 

2.BetterTouchTool で Rmarkdown を使いやすく

 
Rmarkdownのコードチャンク(下のようなもの)を出すときのショートカットも同じように楽な設定をしています。具体的には、指3本で下に動かすとチャンクが挿入されます。

 
【あとで動画を載せる】

 
Cmd + Option + I はなんとか覚えられそうですが、このショートカットを使うときは、いちいちキーボードに目を落とせねばならず(タッチタイプがそのレベル)、それがストレスだったのです。

 
もちろん、これもスニペットツールでやればいいのですが、なぜか私は BetterTouchTool のジェスチャーでチャンクが出るようにしています。どうしてそうしたのは思い出せません。

 

www.boastr.net

 

3.いちいち library()するのが面倒なときにWコロン

 
「このパッケージのこの関数だけを1回だけ使いたい」ということがありますよね。たぶん。そういうときに::(Wコロン)です。

 
どのパッケージかはっきりさせるため ::+関数があるのでしょうが、私の場合はどちらかというと不純な動機で「ちょっと1度だけ、各変数の平均と標準偏差をざっと見たい」なんてときに psych::describe(hogehoge) とかやっています。

 

4.パッケージ管理は GUI

 
install.packages() はほぼ使わなくなりました。基本、RStudio でパッケージ管理しています。

 
f:id:hikaru1122:20171221195943j:plain

 
「Install」ボタンを押して、インストールしたいパッケージを頭から数文字入れるとサジェスチョンを出してくれます。だから、スペルミスが減りました。あと、だいたい月に1回くらい「Update」ボタンを押します。一気にアップデートされるときは気持ちいいです。

 
実はここ最近、Jupyter Notebook も使おうとしていたのですが、パッケージのインストール・管理の機能がないので、使うのをやめたくらい。

 

5.データを渡すときは .xlsx のファイルで

 
なんとか周りにRを使う人を増やそうと、今年は月1のゼミ前に1時間ほど有志で統計分析の勉強会を3月から11月まで毎月行いました。経営学に近い分野の社会人学生は文系が多いので、あまり量的分析を好みません。しかし、それではいけないので、みんなでがんばりました。

 
はじめは例題として分析するデータをCSVやテキストファイルで渡していました。しかし、Windows の人や Mac の人が混在しているので、それぞれ対応する文字コードにしたファイルを渡すことになり、まず「文字コード???」となってつまずきます。

 
だったら、「もうエクセルでいいじゃない、RStudio のGUIだとエクセルファイル読み込めるし(正確にはread_excel()を使っているけど)、文字コードの問題も起きない」ということでエクセルで配布するようになりました。

f:id:hikaru1122:20171221211241j:plain

 
それ以来、文字コードのトラブルは起きず、インポート前に自主的にエクセルファイルの中身を見て(だいたい Office が入っていて、無意識にダブルクリックするみたい)、分析前に確認する習慣も付きそうです。

 
以上、ご意見があるかと思いますが、極私的なRの使い方でした。もっといいものがあれがお教えください。よろしくお願いします。

RStudio Cloud による社会人学生への統計教育の実践

Hijiyama.R the Final で LT をしてきました。LT のタイトルは「RStudio Cloud による社会人学生への統計教育の実践」です。RStudio Cloud を使えば,みんな同じ環境でRに触れることができるよ,という内容でした。

    f:id:hikaru1122:20171126125144j:plain

 
月1ペースで社会人学生で統計分析の勉強会をしているのですが,次のような理由で分析する環境を整えるのが結構大変だと思っていました。

  • PC環境がバラバラで環境構築であきらめることも。

  • アカウント名が日本語になっていることがよくある。

  • RStudioやパッケージを全員がちゃんとインストールするのが難しい…。

 
一人ひとりフォローすればなんてことはないのですが,勉強会は月1で1時間程度で時間がないのです。どうしたもんかと悩んでいたところに救世主が!

 
f:id:hikaru1122:20171126220106p:plain

 
使い方はとても簡単。右上の Login から「Log in with Google」で利用できるようになります。ログイン後,しばらく待っているとスタンバイ完了。New Project でプロジェクトを作って,いつものようにRStudioを使うだけ。

 
f:id:hikaru1122:20171126220613p:plain

 
動作は重いです。データは右下のペインの「Upload」からアップします。R スクリプトを書いて保存して,URLを共有すれば,すぐに他の人も使えます。違うアカウントでログインすると,右下に作成したスクリプトやデータがありますし,共有前にパッケージをインストールしていたら,そのパッケージも使えます(しかし,rstan とはダメです)。

 
f:id:hikaru1122:20171126220841p:plain

 

まとめ

  • R を使ってこんなふうに分析できるよという紹介用レベルには使える。
  • 重い。

以上です。

補足

 
kazutan 先生によれば,次のとおりだそうです。

補足2

 
今日はいつもと違って,Jupyter Notebook + RISE でプレゼンしました。

f:id:hikaru1122:20171126223710p:plain

大きい iPad Pro で論文を快適に読む方法

自分の中でだいたい固めることができたので、大きい iPad Pro で快適に論文を読む方法を書いておきます。最近、質的研究ばかりやっていて、R とかあんまり触っていないため、こういうネタしかないんです。

 

結論から

 
まず先に結論を言うと、2017年9月20日現在、次の組み合わせが私にはピッタリです。

 
1. iPad Pro 12.9インチ
2. アップルペンシル
3. アップルペンシルのキャップ紛失防止ツール
4. 適度に滑りにくくするための保護シート
5. PDF Expert
6. スリーブケース

 

私の電子リーダー端末遍歴

 
タブレットスマホはいろいろ触ってきましたが、論文を読むに関しては、Retina ディスプレイの iPad(第3世代)→ソニーのデジタルペーパー(旧モデル・DPT-S1)→ 小さい iPad Pro(9.7インチ・2015年モデル)→大きい iPad Pro(12.9インチ・2017年モデル)とたどってきました。他にもKindleとかソニーのリーダーとかでもチャレンジしましたが、目には優しいものの動作が重くダメでした。

 

なぜ紙で論文を読まないのか?

 
私が紙で論文を読みたくないと思ったのは単純に「かさばるから」です。仕事柄出張が多く(昨年は224泊)、論文をたくさん持ち歩きたくありません。社会科学の論文は(少なくとも私の領域では)だいたい1本20ページくらいで、5本でA4・100ページ、10本で200ページ。出張で持ち歩くには思ったよりかさばるんです…。そのため電子化しかないと数年前からいろいろ工夫していました。

 
中には論文は「紙で読む派」という方もいらっしゃると思いますが、差し迫った問題がなければ、私はどちらでもいいと思います。お好きなほうを選べばいいです。

 

デジタルペーパー VS 小さいiPad Pro VS 大きい iPad Pro

 
電子化された論文を読む勝ちパターンがこの1年で固まりました。まず昨年、ソニーデジタルペーパー(DPT-S1)を大阪のソニーストアで実機を確認。さすがに定価で買うには抵抗があり、中古をヤフオクでゲット。それでもそれなりのお値段がしました。

 

デジタルペーパーのいいところ

○ 軽い、薄い。
○ なんか目に優しい感じがする。
○ 基本、読み書きに特化しているので、論文読みに集中できる。

 

デジタルペーパーのイマイチだったところ

△ 動作がもったり(新モデルは改善しているそうです)
△ 文字がギザギザで読みにくい(これも新モデルでは改善しているそうです)
△ 思ったよりペンが引っかかる。もっと滑らかなのが個人的には好き。
△ 英語論文を読んでいて、知らない単語が出てきたとき、別の端末で調べる必要がある。
△ 論文を読んでいて調べ物をしたい場合、ネットで快適に調べることができない。

 
数ヶ月ほど使って「ナンカチガウ」感が出てきて、だんだんと使わなくなっていきました。「これではあんまり論文が読めないなぁ」と困り、iPad Pro はどうだろうと思い立ちました。iPad Pro には大きいサイズ(12.9インチ)と小さいサイズ(当時9.7インチだった)があります。

 
大きい iPad Pro を仕事に使っている知人がいたので見せてもらって、ちょっと大きいかなと思ったので、小さい iPad Pro を使うことに決め、アップルの整備済製品で購入しました。お得です。

iPad整備済製品 - Apple(日本)

 

小さい iPad Pro のいいところ

 
○ 字がきれい。
○ 知らない英単語が出てきたとき、付属の英語辞書ですぐわかる。
○ wi-fi につなげて、快適に調べ物ができる。
○ アップルペンシルはなかなかいい感じ。

 
iPad の辞書機能は特に便利です。私は英語に不自由しているので、よく知らない単語が出てきます。これを他の電子辞書を使わずに、iPad 内蔵の辞書で調べることができるのでストレスがとても減り、QOLアップ。  

www.youtube.com

 
PDFを読むとき、PDF Expert を使うのですが、上のように知らない単語を選択して「定義」をタップすれば、内蔵辞書ですぐに意味を確認できます。超便利!

 
アップルペンシルの書き心地は動画では伝わりにくいですが、こんな感じ。

youtu.be

 

小さい iPad Pro のイマイチなところ

 
△ 使っていると、だんだん小さく感じてくる。
△ ケースに入れて使っていると、思ったより重く感じる。
△ アップルペンシルはいいけど、ちょっと滑りすぎる。

 
また半年ほど使って、また「ナンカチガウ」感が出てきたので、大きい iPad Pro を本格検討。新型の大きい iPad が出て、かなり迷いました。清水の舞台から飛び降りる気持ちで移行を決意。在庫があるなら全国どのアップルストアにも行く(出張ついでに)覚悟でした。

 
結果、銀座にアップルストアにあったので、すぐにゲット。そして現在に至ります。まだそんなに経っていないですけど、とても満足して使っています。

 

大きい iPad Pro のいいところ

 
○ 小さい iPad Pro のいいところは全部ある。
○ さらに画面が大きく、見やすい。

 

大きい iPad Pro のイマイチなところ

 
△ デカい。

 

大きい iPad Pro をより快適に使う方法

 
以下、より楽しく、快適に iPad Pro 12.9 インチを使って論文を読むために試した方法を書きます。

 

アップルペンシルのキャップカバー(必須)

 
まずアップルペンシルは必須です。しかし、アップルペンシルの最大の弱点はキャップ。小さい iPad Pro を使っているときにアップルペンシルはすでに活用していましたが、すぐにキャップをなくしました。

 
キャップがなくても普通に使えますが、なんかカッコ悪い。仕方がないので、大きい iPad Pro 導入時にキャップだけ再度購入しました。アップルストアで修理扱いです。修理の予約が必要だし、修理代は1000円くらい。

 
また紛失したら悲しいので、キャップカバーを導入。修理代より安いので、導入したほうがいいです。どのキャップカバーでも構いません。

www.youtube.com

 
ちょっと不格好なのですが、紛失のリスクを考えて、ここはガマンですかね。

 

ペーパーライク保護フィルム(必須)

 
ソニーデジタルペーパーと比べ、iPad Pro はツルッツルです。そのためアップルペンシルが滑りすぎます。多少の引っかかりが必要なため、ディスプレイが紙のような感じになる「ペーパーライク保護フィルム」を導入しました。

 
最近は安いのが出ているので、好きなのを選べばいいかと思います。ただ、気をつけてほしいことがあります。それは、せっかくの美麗なディスプレイが台無しになることです。

 
画面はちょっとざらついた見た目になりますし、指紋はむっちゃ付着します。きれいな画像・映像を見たい人にはガマンできないと思います。

 
しかし、この iPad Pro は論文を読むためにあるのです! 割り切ってエンタメは諦めましょう…。次第に目は慣れていきます。なんか違和感のある手触りも慣れます。ざらつきはありますが、画面はヌルヌル動くので、操作は問題ありません。

www.youtube.com

 

PDFリーダー(必須。お好きなのを)

 
先ほど書いたように、PDF Expert を使っています。他のPDFリーダーも試して、いちばんしっくりきたためです。かなり感覚的でちゃんとした理由はありません。ドロップボックスに読むべき論文のフォルダを作り、そのフォルダと PDF Expert を同期させます。

 
f:id:hikaru1122:20170920015459p:plain

 

格安SIM(お好きにどうぞ)

 
wi-fi でつながっていないときに(電車の中とか)で論文を読んでいて、ネットで調べ物をしたいときに便利です。ただ、つい余計なものを見てしまうときもあるので、導入するかどうかは好き好きで。私は楽天ポイント(ホテル手配は楽天トラベルだからけっこう貯まる)で支払える楽天SIMにしています。

 

www.youtube.com

 
アンテナが2本しか立っていなかったのでスピードが少し遅いですね。大きな問題はないです。

 

スリーブケース(お好きにどうぞ)

 
ケースは重いので、スリーブケースにしました。デスクにどかんと置いて使うか、手に持って使うだけなので、別に立てて使うことはないからです。アマゾンとかで好きなモノを選んでください。

 
私は純正品を使っていますが、キャップ付きのアップルペンシルだと収まりが悪く、ちょっとカッコわるいです。

f:id:hikaru1122:20170920012251j:plain

 
というわけで、大きい iPad Pro であなたも快適な論文読みライフを送りませんか? コスパには目をつむってになりますけど…。

RMarkdown で参考文献を作るときにちょっとつまずいた話

f:id:hikaru1122:20170409035108j:plain

Rを使うドキュメントはできるだけ RStudio内 で完結するように(コピペが面倒なのと,スライドも配布するPDF資料もRStudioでできるので)環境を整えているところですが,参考文献も自動で挿入できるようにしたいと思いました。やってみて,つまずいたところをメモします。

 
RMarkdown チートシートを見ると,2ページ目に「Citations and Bibliographies」というセクションがあります。YAML ヘッダーに簡単な追記をすればできるようなので,やって見たところ,次のように怒られました。

 

pandoc: Filter pandoc-citeproc not found

 
エラーメッセージをそのまま検索すると,こちらの答えがありました。

 
github.com

 
どうやら,

 

brew install pandoc pandoc-citeproc

 
でいいそうです(Mac で homebrew が使える場合)。確かに,pandoc-citeproc をインストールした後は,YAMLヘッダーに参考文献のリスト(.bib)を用意すれば,うまく参考文献が表示されるようになります。

 
今回,日本語文献だったので,順番がうまくいきませんでしたが,論文ではないので,まぁOKかなと思います。記述したYAMLヘッダーはこちら。

---
title: "Rの操作の復習と簡単な分散分析"
author: Hikaru GOTO
date: 2017415日(土)
output:
  rmdshower::shower_presentation:
    self_contained: false
    theme: ribbon
    ratio: 4x3
bibliography: mylib.bib
csl: journal-of-business-research.csl
---

 
なお,.bib ファイルの作成はこちらを参考にしました。.csl は zoteroリポジトリからダウンロードしています。JBR は私が比較的よく見る論文誌です。

 
qiita.com

 
ちなみに,RMarkdown で参考文献を作るときの公式ガイドはこちらです。RMarkdown で引用するとき方法と参考文献一覧を表示させるは公式ガイドを参照してください。

 
rmarkdown.rstudio.com

 
P.S.1
RMarkdown チートシートは日本語訳もあります。超便利! 感謝。 https://www.rstudio.com/wp-content/uploads/2016/11/Rmarkdown-cheatsheet-2.0_ja.pdf

 
P.S.2
zotero のスタイルを使った場合は,ネットに接続してないと knit が失敗します。

ggdendro と PAC 分析を使ったサービス学会の発表

2017年3月28日(火)、広島県情報プラザというところで開催されたサービス学会第5回国内大会に参加してきました。仕事以外で広島に滞在したのは小学校の修学旅行ぶりです。

http://ja.serviceology.org/events/domestic2017.html

 
今回は研究をスタートし始めたばかりのネタで、調査・分析が進んでおらず、いろいろと参加者と相談したいという理由で、ポスター発表にしました。

f:id:hikaru1122:20170330135756j:plain

 
PAC 分析というものを用いたのですが、この分析法ではデンドログラムを使います。せっかくなので、ggdendro を使ってみようと直前までポスターをいじっていました。PAC分析の手法についてはこちらを参照してください(ネット上にもたくさん情報はあります)。

PAC分析実施法入門―「個」を科学する新技法への招待

PAC分析実施法入門―「個」を科学する新技法への招待

 
R で普通にクラスター分析するとこんな感じ。 f:id:hikaru1122:20170330140907j:plain

 
ポスターを作るときはこれをパワーポイントに貼り付けて、回転させてトリミングして整えていきますが、ちょっと色合いがさみしい感じ。私のポスターは茶系で地味なので、ちょっと色がほしかったのです(ggplot のあのグレーが好き)。

 
というわけで、ggdendro を使うことにしました。何もしないと ggdendro は背景色が白です。

f:id:hikaru1122:20170330141429j:plain

 
ここから ggplot2 に持って行き、縦軸と横軸を消していきます。例によって、kazutan 先生の資料を参考にしました。

https://rpubs.com/kazutan/ggdendro_test

 
できあがりはこちら。ggplot っぽくなりました。 f:id:hikaru1122:20170330141625j:plain

 
1行目で ggplot に渡すデータを作り、5行目でデンドログラムを横倒しにして、6~8行目で縦軸と横軸を削除しています。あとはこの図をパワーポイントに持っていき、情報を追加したら完成。

 
f:id:hikaru1122:20170330142947j:plain

いつも直前にホテルでかんづめして作ってます。

 
ちなみに、A0サイズで7000円ほどかかりました。高いけど、直前まで出力を受け付けてくれたキンコーズ広島本通店さん、ありがとう。

R Markdown スライドとPDF 文章(日本語含む)作成メモ

f:id:hikaru1122:20170309003058p:plain

月1回のゼミ前にRを使った統計分析の勉強会をすることになりました。せっかくなので(これまで何度か挫折した)R Markdown でやろうと思い立ち,今回は成功したので資料づくり(スライドとPDF)のメモを書いておきます。自分が忘れないように。

 
1)R Markdown でスライドを作ろうと思い,以前,本家のページを読んだ。
rmarkdown.rstudio.com

 
2)ただ,やはり日本語の情報のほうがストレスが少ないので,こちらを熟読した。 わかりやすくまとまっていて個人的大感謝祭。
https://kazutan.github.io/kazutanR/Rmd_intro.html

 
3)YAML はコピペがよい。複雑なものは作らないので,達人たちの力を借りる。「revealjs::revealjs_presentation:」の最後のコロンに気づかず,入力を忘れていて,「どーしてもエラーが出る」と1時間くらい悩んでしまった反省から。

 
4)作ったスライドをPDFにする方法はこちらにある。PDFにすれば Speakerdeck とかにも簡単にアップできて便利。
https://kazutan.github.io/SappoRoR6/rmd_slide.html#/pdf

 
5)作った資料(日本語含む)をPDF文書にするときの YAML ヘッダーの書き方はこちらにある。xelatex の YAML ヘッダーを使う場合は,IPAフォントを入れておかないとエラーが出た。
RStudio で Rmd ファイルから日本語 PDF を作成する方法 | miyazakikenji

 
以上です。

1〜2年前は「エラー出た。解決策がない(日本語で)」と困っていたのですが,ここ最近,有志の方が情報を出してくれて,本当に便利になりました。これでまた1つ,パワーポイントに結果の図とか数値を貼り付ける作業から解放されそうです。

クリエイティブ・コモンズ・ライセンス
この 作品 は クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスの下に提供されています。