★データ解析備忘録★

ゆる〜い技術メモ

useR! 2021の運営に参加して感じたこと

はじめに

この記事はR Advent Calendar 2021 の25日目の記事です。

僕は今年のRの国際カンファレンス useR! 2021 に運営の一人として参加し、大きな挫折を味わいました。

useR! 2021 のホームページには「Global Organizing Committee」「Conference Facilitators」が公開されており、誰が大会運営に関わったのかが列挙されています。僕の名前は後者のConference FacilitatorsのZoom Hostにあります。

(途中まではGlobal Organizing Committeeにも名前があったのですが、ほとんど何もできなかったため今は削除されています。)

本記事では、「なぜuseR!の運営に参加することになったのか」「何をしたのか」「何を感じたのか」「これからどうしたいのか」を中心に書き綴っていきます。

続きを読む

r-libで気になるパッケージを列挙する

はじめに

この記事は R Advent Calendar 2021の18日目の記事です。

r-libとは

r-libは、Rの開発や環境(Environment; RStudioなどの実行環境とは異なる)を支えてくれるような、レイヤーが低めな部分を担当するパッケージを多く開発している組織です。

github.com

有名どころだとパッケージ開発で重宝する devtoolsusethisroxgen2pkgdownスクレイピング周りの基礎関数が実装されているhttr パッケージ等、よく使うパッケージの依存先になってるケースが多いです。

今回は何かの依存になっているわけでは無いパッケージを中心に(なってるのもありますが)気になる・好きなパッケージを列挙します。

続きを読む

『RユーザのためのRStudio[実践]入門』の改訂2版が出ます。

はじめに

『RユーザのためのRStudio[実践]入門』(通称「宇宙本」)が改訂され、3年ぶりに帰ってきます。 私は初版に引き続き1章「RStudioの基礎」と2章「スクレイピングによるデータ収集」を担当しています。カバーも新しくなり、見た目のアップデート感も満載です。

内容的にはRStudioや各種ライブラリの最新版に対応しており、新たに文字列・日付時間の処理が追加されていますが、大まかな流れは初版と同じなので、書籍のコンセプト等は当時の記事を御覧ください。

y-mattu.hatenablog.com

TL; TR

『RユーザのためのRStudio[実践]入門』改訂2版をおすすめする方は

  • 最近Rを勉強し始めた
  • Rは昔からやっているけど、tidyverseに最近入門した(したい)
  • 初版を持っているけど、整理された最新情報にアクセスしたい
続きを読む

lantern パッケージの紹介

はじめに

この記事は R Advent Calendar 2020 22日目の記事です。

今年は色々ありまして、まさかの1年ぶりの記事更新です。

lantern パッケージは、平たく言えば tidymodelstorchモデリングを提供するものです。 この一文で意味が分かる方は少し飛ばして次節の「インストール」以降をお読みください。 github.com

10月末頃に、Pythonに依存しないディープラーニングライブラリとして torch パッケージがリリースされました。 Rでディープラーニングの学習や生成モデルをつくるパッケージは RStudio から kerastensorflowなどが提供されていましたが、これらはPythonの同名ライブラリのメソッドを reticulate パッケージを通して呼び出すという仕様のため、環境構築の際に一手間かかっていました。

一方、tidymodelstidyverseの流儀に倣って、「統一したフレームワークで」「直感的に」モデリングする環境を提供するパッケージです。もともとRは統計解析のために開発された言語ということがあって、様々な統計モデリングの手法が様々なパッケージで提供されてきましたが、「引数の順番や入力データの形式がパッケージによって異なるため、様々な分析を同時に実行するのが面倒」という欠点がありました。tidymodels パッケージはこのような欠点を補う一助になります。

tidymodelsの基本的な使い方は、dropout009さんの記事などが参考になります。

ただし、現状tidymodelsでは有名なモデリング手法しかオフィシャルには提供されておらず、必ずしも自分がやりたいモデルがあるとは限りません。 足りないモデルがあれば、他のパッケージによるtidymodels用のインターフェース提供を期待するか、自分で用意しなければなりません。このあたりは、atusyさんによる14日目の記事が詳しいです。

lantern パッケージは、この「tidymodels用のインターフェース提供」をしてくれるパッケージです。ただし、開発がtidymodelsになっているので、将来的にオフィシャルに組み込まれる可能性はあるかもしれません。。。

また、本記事執筆時点(2020-12-21)で lantern パッケージのライフサイクルは「experimental」つまりまだ実験的な立ち位置のパッケージになりますので、以下で書くことは今後変わる可能性がありますので、ご注意ください。

以下、tidymodelsの基本的な使い方(レシピの組み方など)と、ディープラーニングの基本的なこと(エポックとか隠れ層とか)がある程度分かっている前提のお話になります。

続きを読む

闇のExcelに対する防衛術

この記事は R Advent Calendar 2019 の25日目の記事です。

Rユーザにとっての闇、それはデータソースとして渡されるエクセルファイルでしょう(異論は認める)。

tidyverseの中にある readxl パッケージによってだいぶ楽になったとはいえ、まだまだ手元でエクセルファイルを直さないとまともに読み込めない、というのが現状でした(セル結合とかキツイですよね...)。

そんななか、そのあたりを面倒見てくれるパッケージが登場していますので、それを紹介したいと思います。本記事で紹介するのは以下のパッケージです。

この2つはペアで使うことが多いようです。

なお、tidyxl パッケージと unpivotr パッケージについては本記事の内容はほぼ全て以下のWeb Bookに詳しく書かれています。

nacnudus.github.io

本日のゴール

本日のゴールは、上記のWeb Book の9.1で紹介されている、以下のような、オーストラリアで実施された結婚についてのの調査結果が記録されたエクセルファイルのシートを tidyに(ここ重要) 読み込むこととします。

このファイルは、こちら からダウンロードできます。

  • Table 1 f:id:songcunyouzai:20191225002242p:plain

エクセルファイルの2シート目、"Table 1" シートには2つのテーブルがあります。1つは「Response Clear」 というテーブル、もう1つは「Eligible Participants」です。ぱっと見ただけでセル結合が複数あるわ、そもそもテーブルが1シートで複数あるわで、 readxl パッケージでは太刀打ちできそうにありません。しかし、このようなエクセルシートは世にあふれており、我々Rユーザがこのような闇と対峙しなければならない場面は少なくありません。

続きを読む