見出し画像

Day7. 『はじめてのR』を写経する(統計プログラミング入門)

村井 潤一郎『はじめてのR: ごく初歩の操作から統計解析の導入まで』の内容を1日30分間なぞって、統計プログラミング言語「R」を勉強することにした。

Day7.データの型

1日30分でどのくらい進むのかわかってきた。よってまだ第2章だが、もう驚かない。落ち込まない。

しかしDay.6のメインとなった「要因型」の全体像がつかめないままオロオロしたままである。

str()関数でオブジェクトの構造を確認
・「要因型の例」と「文字型の例」の構造をみてみる

> str(要因型の例)
Factor w/ 2 levels "f","m": 1 1 2 2 1
> str(文字型の例)
chr [1:5] "f" "f" "m" "m" "f"

→要因型のオブジェクトの中身はf/mと数値が対応しているが、文字型のオブジェクトの中身は数値が対応していない。
→「chr」は文字型。

他のオブジェクトも構造を確認する

> str(身長)
num [1:5] 160 167 169 181 173

・以前作ったオブジェクト「身長」も「num」=数値型で数値は対応していない。

異なるデータ型に変換する

文字型→要因型ができるように、数値型→要因型も下記のように可能。

> 身長要因型 <- factor(身長)
> 身長要因型
[1] 160 167 169 181 173
Levels: 160 167 169 173 181

str()で構造を、class()でデータ型を確認する。

> str(身長要因型)
Factor w/ 5 levels "160","167","169",..: 1 2 3 5 4
> class(身長要因型)
[1] "factor"

→これで数値型だったオブジェクト「身長」は要因型のオブジェクト「身長要因型」に変換されたことが確認できた。

データ型の存在意義

本書の説明を自分がわかりやすい例に置き換えて考えてみた。
要するに生徒の身長のデータを解析するときなどに、出席番号が「数値型」として扱われると不都合だからだ(出席番号の平均値や中央値など意味をなさない)。

こういった数値型ではない数字は、数値ではなくカテゴリとして処理する必要がある。ここでずっと何かわからなかった要因型が活躍するようだ。

これはおそらく、重回帰分析をするときに使う「ダミー変数」にあたるのではないだろうか。「男性なのか、女性なのか」という定性データを解析に用いたことがある。

R Consoleを終了するときは

ワークスペースの内容を保存すると、次回作業時に意図せぬオブジェクトが残ってしまう。保存しないほうがいい、とのことだった。もし保存してしまった場合はローカルに生成されたオブジェクトの定義と入力履歴のファイルを削除する必要があるらしい。

Rで困ったとき

わからないことが発生したときの調べ方3つ
①ヘルプを見る
②インターネットで検索する
③書籍で調べる

を念頭に置く。

というわけでまとめながら30分経ってしまった。今日はここまで。

まとめ

・要因型はどうやらダミー変数のときに活躍するようだ。
・以前ls()関数で出てきた謎の変数の定義は、ワークスペースを保存したからかも。次回は最初にMacの場合の保存先のファイルを探す必要がある。
・わからないことの調べ方3つの詳細は次回読む。

写経している教本

村井 潤一郎『はじめてのR: ごく初歩の操作から統計解析の導入まで

補足:書いてる人間について

このnoteでは、下記のバックグラウンドがあることと、あくまで写経をすることが目的のため、理解するプロセスである程度端折っていることがある。
(完全コピは著作権的にNGなのであくまでやったことの記録である)

●背景
・このnoteを書いている人間は、過去にUIデザインの仕事と並行してフロントのコーディングをHTML/CSSや(たまにjQuery)を扱っていた。
・挫折したがPHPやRuby on Railsなどでのweb開発にも挑戦したことがある。
・コマンドラインツールには過去にGitを利用する中でちょっと親しんでいた(wipという表現の便利さに目覚めた)。

補足:マーケターがRを学ぶ背景

2019年の秋からマーケ・分析担当として、EXCELで重回帰分析をするときに数多くの壁にぶつかってしまった。きっかけは、社外の統計に詳しい人に、Rをおすすめされたことだった。Rなら、エクセルでの解析時に人力でやっていた下処理などを関数などで簡単に処理できるという。

***

いったんの目標は、この本を一度すべてなぞった上で、重回帰分析のスクリプトが理解できるようになること。

そうすれば、これまでの少ないプログラミング学習経験に照らして、コピペで他の解析がちょっとできるようになると見込んでいる。

写経とは、読んで字のごとくお経を書き写すこと。
IT業界では「プログラミングコードを書き写す」ことを意味しており、効果的なプログラミング学習方法のひとつとして知られている。
(出典:プログラミング学習で写経を最大限に活かす方法)


わたしをサポートしたつもりになって、自分を甘やかしてください。