日本語化が待ち遠しい…
Rクックブックのtidyverse版ないかなーってつぶやいたら。。。 Atusyさんに教えてもらった…
— Atsushi (Atusy) (@Atsushi776) 2018年7月23日
こちら。
なお、↑に書いたような日本語化(翻訳)が実際にされるかどうかは不明です。
実例がコードとともにたくさん載っている書籍で写経して学ぶというのは大事だと思うのですよねー(普段全然やってないとはいえ。。。)
鍛えよう。
Enjoy!!
Rクックブックのtidyverse版ないかなーってつぶやいたら。。。 Atusyさんに教えてもらった…
— Atsushi (Atusy) (@Atsushi776) 2018年7月23日
こちら。
なお、↑に書いたような日本語化(翻訳)が実際にされるかどうかは不明です。
実例がコードとともにたくさん載っている書籍で写経して学ぶというのは大事だと思うのですよねー(普段全然やってないとはいえ。。。)
鍛えよう。
Enjoy!!
diffobj
パッケージはRのオブジェクトやファイル、csv(これもファイルだけど)などをViewer Paneに差分表示してくれるパッケージです。差分表示はカラフルに表示されるdiffなので、見やすいし、この表示の仕方についてもカスタマイズできるようである。
実際に使ってみる。READMEやvignettesを読んだほうが情報量は多い。
str()
の結果の差分を表示するならdiffStr()
を使う。
library(diffobj) diffStr(lm(Sepal.Length~Sepal.Width, iris), lm(Petal.Length~Petal.Width, iris))
結果の差分を表示するならdiffObj()
でよい。この場合引数に与えたオブジェクト(変数)は評価後のものの差分をとるようだが。
diffObj(lm(Sepal.Length~Sepal.Width, iris), lm(Petal.Length~Petal.Width, iris))
ここで、関数をcallせずに(関数名のあとに()をつけずに)diffObj()
に与えると、
diffObj(lm, glm)
このようになんとソースコードの差分を表示してくれる。これで自分で作ってしまった「大体同じなんだけど、ちょっと用途が違うのでコピペしてちょっと変えて作ってしまった、大量のへぼい関数」を比較して統一していくことが容易になりますね。個人的にはこれが結構役に立ちそうな気がする。
そんなわけで、diffobj
パッケージを使うと、簡単にしかもカラフルにわかりやすく差分表示ができる、ということでした。
まだほかにも関数や設定があるので、help読んだりvignetteを読んで使いこなしが必要そうですが。。。
Enjoy!!
仕事が少し片付きそうな気配になってきたので、そろそろ自分のスキルを伸ばす方向で勉強を積み増ししていく。
Effective Modern C++を買って、とりあえずはじめにと1章の1/3くらいを読んだ。 www.oreilly.co.jp
新しい?概念がたくさん出てきたので頭を使う。久しくこういう頭の疲れ方をしていなくて、新しい概念を得るということをしていかないとだめだな、と思いました。RからCpp使う必要があるので、ここで時間をかけてC++を勉強していく予定。
宇宙本読んだ。結構前だけど。感想も書いたので頑張った。
パンダ本をまた読む予定。苦手なところとかちょっと飛ばしていたので。読み終わったらこちらも感想を書く。初心者が読む1冊に入れておくべきだな。あとで宇宙本の感想のページにちょっと追記しておこう。あるいは初心者向けのR本のリストを作る。
サーボとかモータ系の制御がわからないのと、状態空間表現をもう少し理解できるようにするために現代制御の本を読むことにした。まずはこの1冊。これもまだ1章。
こちらを購入した。が、すでにTFとkerasの本を積んでいるのにこれを読んでいてよいのだろうか…? www.oreilly.co.jp
積み(罪)が大きい。そろそろ1冊/週でよいので読まないと…
もう少し計画的に色々やらないと詰みそうですねぇ…。もっといろいろ知りたいんだけど…
summary系は結構あることがわかった。ひとつひとつ自分で動かして確認していく必要があるので、参照しやすいようにリンク集の形で置いておく。
My favourite R package for: summarising datadabblingwithdata.wordpress.com
R packages for summarising data – part 2dabblingwithdata.wordpress.com
Great packages for understanding your data | Swimming the Data Lake
https://sdrakulich.com/lil-bits/r-packages
これはまとめではないが、講義資料で使っている部分があったので参考にできるはず。
この辺りは使いこなしが重要ですな。
Enjoy!!
下記のように書いてください。
knitr::kable(skimr::skim_to_wide(iris))
下記のように、ちゃんと表示されます!やったね!
元ネタというか、解決の糸口になったのは下記のSOのコメントで、kable()
したらできるという文言です。
試してみるもんだわ…。
これでsummarytools
パッケージとskimr
パッケージの比較ができますね…。同じ土俵に乗せることができそうです。
Enjoy!!
RユーザのためのRStudio[実践]入門−tidyverseによるモダンな分析フローの世界−、通称: 宇宙本を先日読み終わりましたので感想を書いてみようかなと思います。と、書き出しを書いてから結構時間がたってしまいました。
出版社さんのサイトはこちら。pdf版もありますよ。
今まで「Rで〇〇」といった書籍は(特にここ最近)非常にたくさん出版されていましたが、RStudio IDE+tidyverseパッケージ群についてのまとまった1冊といったものはなかったので、この隙間を埋める良い一冊だと思います。
ただし、本書の「はじめに」でも触れているように、分析全般とパッケージ開発やShinyについては触れられていないです。
また、たとえばRのインストールの方法、ベクトルやデータフレーム、基本的な文法については宇宙本には載っていません。そのため、これらの知識については別の書籍やネットの情報から得る必要があります。まぁこの辺りは調べれば結構出てくるので、いろんな書籍でこの部分を書く必要はないと思うので個人的にはなくてもよいと思いますが。
そんなわけで、Rのガチ初心者が最初に読む、1冊目ではないという点には注意が必要です。
ということで、おススメなタイミングはRの基本的なことが分かった時点か、tidyverse
をちょっと触り始めたところで読むとよいかなと思います。また、以前からRを使っていた方で、RStudio+tidyverseについてはあまり知らないなぁ・・・という人にも効果が大きいですね。ある程度R
+RStudio
+tidyverse
を触っている…という人でも何かしらの学びがあると思いますのでぜひ1。
Rガチ初心者の方が最初に取るべき1冊が何かについては検討中ですが、安牌はコレかな…。
こちらは目次を見ればわかる通り、Rガチ初心者向けの内容になっています。私もちゃんとR使うようになる時はコレから始めましたね。
ただ、自分は独学で始めたのでこの本が必要でしたが、基礎的な内容なので周りに聞ける環境があるならば、まずは聞いてみた方が良いでしょう2。知識を体系化したい場合はまとまった文章で理解して行った方が良いので、
この本はRStudioを使うことを前提としているので、宇宙本にもつなげやすいのでは?と思います(読んだのがずいぶん前だからうろ覚えですが)
RStudio IDEの機能についての説明。意外と?ネット上でもまとまった情報が少なく、公式のチートシートとかを読み解かないといけなかったり(チートシートが最新でない場合もあり)、触り始めた人にはありがたい章だと思います。また、僕みたいに雰囲気で使っている人は「こんな機能/設定があったのか!」という発見があると思います。私も細かい設定も追っておいたほうが良いですね…。
また、データの読み込みについても触れられています。Tokyo.Rの入門編のData Import編をさらに入りやすくしたイメージですね。
分析するためにはデータが必要、ということでスクレイピングによってデータを収集するための方法が書かれています。
スクレイピングはHTMLの構造、パッケージの使い方とその後処理(分析に対しては前処理)と初心者には比較的敷居の高め(必要となる知識が広く要求される)ですが、要点を絞って書かれているのでまず押さえるべきところがどこかがわかると思います。
この章の続きになる本としては、C&R研究所 の Rによるスクレイピング入門
出版社のページ 書籍詳細|株式会社 C&R研究所
サポートサイト github.com
がおすすめです。
また、共立出版の Rによる自動データ収集―Webスクレイピングとテキストマイニングの実践ガイド―
もありますが、こちらのほうが分量も多く発展的内容もあるので自分がどこからどこまでやればよいのか次第で読むとよいのかなと思います。niszetは買ったまま積んでしまっています。。。
また、この章の特徴としてRSelenium
パッケージを使用していることがあげられるかと思います。これもあまり情報がないのでありがたいですね。
ただ、RSelenium
パッケージは今はarchiveされているんですよね…。
https://cran.r-project.org/web/packages/RSelenium/index.html
…が!
しかし先日、archive理由のwdman
パッケージがCRANに復帰しました。
https://cran.r-project.org/web/packages/wdman/index.html
これによって、RSelenium
パッケージ復活は秒読みではないかと思っています。備えましょう。
いきなりgather()
やspread()
が出てくるので面喰いますが、もしまだdplyr
パッケージに慣れていなければすっとばして3-3まで行ってしまってよいかなと。まずはselect()
とfilter()
が使えれば簡単な絞り込みはできてしまうので。
逆に、その一歩先で躓きがちなgather()
、spread()
、group_by()
などがまとまっているのが良いですね。個人的にはselect()
とmutate()
のセマンティクスが良かった。これは今後使われ始めるtidyeval()
でみんな(私も含めて)躓くところだと思います。この点は(僕が理解出来たら)いつかどこかで。
この章が読めた次に読むべき本といえばR for Data Scienceですかね…。Hadley Wickhamによって書かれているという点でおススメしないはずがなく…。
英語版はオンラインで参照できます。私は書籍版を購入して去年の年始に2.5ヶ月かけて読みましたが、紙の本が欲しいということでなければオンライン版でよいと思います。内容は同じ(はず)
日本語版ならこちらがオライリージャパンから出ていますね。
ただ、この書籍は初心者向きではないと言われていますし実際に内容は結構難しいと思います。あと、日本語版の訳については色々あったらしい(私は購入して積んだので読んでおらず、ノーコメント)
宇宙本はこの本に比べるとかなり敷居が低いので、tidyverse
パッケージ群に慣れていない人はR4DSをいきなり読むより宇宙本を見てから入ったほうが無難かな、という気がしますね。読み比べてみてください。
なんとこの章、カラーです。おかげで図が見やすいですね。本気を感じる…。
グループ化、エステティックの変更やファセットから軸の変更や他者との共有まで、ggplot2
パッケージでできることを過不足なく、特に詰まりそうなところを要点を抑えて書かれていると思います3。4章のこの内容を抑えるだけでggplot2
初心者から脱初心者くらいまではいけるんじゃないかな…。
ggplot2
パッケージは出来ることが多いので(しかもどんどん増えている)どこから手を付ければよいのかが迷いがちかと思いますが、まずはこの内容を一式、やってみることをお勧めします。道しるべになると思います。
また、この章の流れがggplot2
パッケージなどでデータの可視化を行う際にデータを見ていく順(要約→詳細、など)にもなっていて、実際にデータを見ていくときにどこから見ていけば…?という勘もつけられるのでは?と思います。
この章の次に読むべき本はRグラフィックスクックブック――ggplot2によるグラフ作成のレシピ集ですね。発売から5年たっていますが、やはり手元に置いて参照できるようにしたい本です。 www.oreilly.co.jp
あとは、R for Data Scienceですね。鍛えよう。
〆はR Markdownによるレポート生成。Markdownの基本的な文法、R Markdownのチャンクオプション、出力の設定などなど、R Markdownでドキュメントやレポートを生成するにあたって最初に知っておくべきことがまんべんなく書かれています。この章を読めばRでドキュメントを作れるようになると思います。
R Markdownでドキュメント生成、苦手意識がある人が多い印象ですが、実際にやってみるとそこまで難しくはなく、むしろRで分析した結果をそのままドキュメントにすることができ、しかもコードにすべて落とし込んであれば何度やっても同じドキュメントが作れる、データを差し替えれば同じフォーマットでレポートできる、など利点がたくさんあります。
例によってR Markdownも色々と細かい話や更新によっていろいろと新しい情報が出てきます。細かい部分の調整は少しずつ調べて積み上げていきましょう。
この章の次に読むべき本は下記の2冊ですね。
再現可能性のすゝめ―RStudioによるデータ解析とレポート作成― www.kyoritsu-pub.co.jp
ドキュメント・プレゼンテーション生成 www.kyoritsu-pub.co.jp
ということで、宇宙本の感想でした。長い…。
先日、summarytools
パッケージを紹介するツイートを観測してから一部で人気沸騰中のsummarytools
パッケージをちょっと触ってみたので記録として。
また、これに関連して集計系のパッケージを探していた過程でパッケージを紹介する記事を見つけたので、それらは
にまとめてあります。結構ありますね。
さて、summarytools
パッケージをとりあえず気軽に使ってみます。基本的にsummarytools
パッケージの出力はコンソールに出てくるのですが、summarytools::view()
で受けることで、R Studio IDE上で実行している場合はViewer Paneに表示されるようになります。RStudio IDE以外で実行している場合は、ブラウザで開かれると思います。
そんなわけで、こんなかんじで
library(summarytools) view(dfSummary(iris))
こんな出力が出ます。
すごい見やすい感じで要約とヒストグラムが作成されました。
skimr::skim()
はWindows+日本語環境の場合、文字化けするためknitr
下でうまくヒストグラムが表示されないという問題があるので、このように表示されてくれるのはありがたいです。
しかし、ヒストグラム以外の列はちょっと見づらいですね。
オプションによって表示がある程度変わるのでもう少し見てみようと思います。しかし、'skimr::skim()や
janitor::tabyl()`との使い分けは必要そうな気がしますね。
うまく使い分けていきましょう…!
Enjoy!!