2024/01/28、日曜日。
数学検定1級の学習と、統計学の学習に取り組んでいます。
Reviews
先週は、生活と仕事など手をつけなきゃいけないことが多く手一杯になっており、更新をスキップしてしまいました。
統計学の学習についてもここ2週間ほど止まっている状態です。数学検定の学習をしていた頃は、どんなに忙しくても1日15分は手をつけていたのですが。今やっている統計学に関してはそれが上手くできないため、このあたり何か原因を言語化しておきたいところです。
一方で、R言語の学習は少し進めることができました。
- R/RStudioで優しく学ぶ プログラミングとデータ分析
- Chapter3 複雑なデータの扱い方
プログラミングは、興が乗ってくるととても楽しいですね。
R言語の学習メモ
R言語の学習での気づきを雑多に書いておきます。
データ型とデータ構造の違い
データ型は値の属性を表すのに対して、データ構造はもっと大きなくくり…という位置づけでしょうか。プログラミング的に表現すると、データ構造はそれが属するクラスに該当するようです。
ここまで学んだ中では、以下のようなデータ型とデータ構造が出てきました。
データ型
- integer:整数型
- double:実数型
- complex:複素数型
- character:文字型
- logical:論理型
データ構造
- numeric:数値
- matrix:行列
- array:配列
現段階ではざっくりと、ベクトルや行列といった構造を持つひとまとまりのデータの中に、各値がそれぞれの型を持って入っている、というイメージで捉えています。
ベクトルや行列の演算がシンプル
R言語ではベクトルや行列のようなデータ構造を使って、複数の値にそれぞれ同じ演算をする処理がとても簡単にできます。
たとえば、配列の各要素の値を2倍にする計算をしたい場合を挙げます。
僕が他に知っているJavaScriptであれば、この計算をする際に反復メソッドを使う必要がありました。ところがR言語であれば、ベクトルや行列にそのまま演算する形で書けるので、非常にシンプルなコードで実現できます。
R言語での三項演算子的なもの
R言語には、他のプログラミング言語でいう三項演算子のような構文がなく、その代わりに同じような役割を持つ関数があるそうです。
こちらの記事で、いろいろなプログラミング言語で三項演算子の構文を比較しています。とても興味深いですね。
統計学の学習習慣が続きづらい理由についての考察
統計学の学習が止まってしまいがちな理由を、まずは思いつく限り挙げてみました。
- 概念的な学習が主になってきて、捉えどころがないため
- 問題演習が少なく、課題をクリアしていく感覚が薄い
- スキマ時間に学習できる教材を決めていないため
- 上の教材はあるにはあるが、進捗管理ができておらず効果が実感できていないため
- 資格試験のような明確な目標がないため
- R言語に気を取られているため
こうやって見てみると、僕はつくづく数学を学ぶ素養が無いのだなあと感じてへこみます。笑
というのも、僕が以前に数学検定の学習が続いていたのは、受験数学のような「問題を解く」ことがベースの学習が好きだからなんだと思います。資格試験という目標に対して、与えられた課題をクリアして点数が取れるようになっていくゲーム感が、モチベーション維持に非常に役に立っていました。
一方で大学数学のような「概念や理論を学ぶ」ということに対しての憧れはあるものの、その楽しさをなかなか見出だせないでいます。今の統計学の学習は、どちらかというとこちらの要素が強いんですね。学んだことを自分の言葉で説明して人に教えてみたり、学んだことを使って何かアウトプットに繋げられると楽しくなるのかな。
また、ここには習慣化の問題もあると思いました。数学検定の学習をしていたときは、iPadに適度な難易度の問題集を入れておいて「15分程度のスキマ時間があれば問題集を進める」ということを習慣化していました。さらに、解いた問題をノートにまとめることで、学んだことを復習しながら進捗管理をしていたのですね。
今の統計学の学習では、このようなスキマ時間の学習と進捗管理が上手く働いていないのだと思いました。学習の習慣化のために、モチベーションに頼らずこの辺の仕組みを改善していきたいと思います。
Plans
来週も統計に関してはお休みにして、R言語の学習に充てたいと思っています。
ただ、完全にお休みするのもモヤモヤするので、授業だけでも参加して追いついていくようにしたいなーと思っています。
別ブログ(note)では「社会人の数学の学び方」をテーマにあれこれ書いていますので、良ければそちらもご覧いただけると嬉しいです。