はじめに

このドキュメントは『指標・特徴量の設計から始めるデータ可視化学入門』で提供されているPythonによる可視化コードR言語で書き直したものです。

ただし、Pythonのコードの直訳・逐語訳ではなくRらしい書き方・表現へ意訳しています。

以下が各章ごとのドキュメントです。

2023年2月時点で第8章まで完成。

MATLAB版も公開されています。

以下の方針を取っています。

  • 書籍とPythonのコードで微妙に異なる箇所は、極力書籍に合わせる。
  • 配色の再現は目指さない。
    • jetカラーのグラデーションはviridisLiteパッケージのTurboカラーセットで置き換える。
    • その他はDark2, Paired, Pastel2, Set2などのカラーパレットから選ぶ。
      • 色名はpalette.colors(palette = “Dark2”)などで確認
      • ggplot2であればscale_colour_viridis_d(option = “turbo”)などとして指定
  • 画像ファイルとして出力する部分とフォントサイズの指定は省略。
  • 各グラフのコードのみをコピペで動かせるようにいちいち必要なlibraryを呼んでます。
  • conflictedtidyverseの両パッケージは必要の有無に限らず必ず呼び出しています。
  • 必要なパッケージは随時インストールしてください。
    • (後で一括インストールのコードを追加する)
  • 割愛したものも一部あります。

以下の点がまだうまく再現できていません。再現する方法があればお知らせください。

  • 1.3.4 「分布の裾の様子」の図はよく理解できなかったので描いていません。
  • 4.2.6 画像とネットワーク図を重ねる方法が分からないので割愛。
  • 4.3.7, 4.3.8 隠れマルコフモデルによる時系列クラスタリングが分からないので割愛。
  • 7.1.3 7.1.4 音声データの取り扱いの知見が無いので割愛
  • 7.1.5 心電図データの取り扱いの知見が無いので割愛
  • 7.2.1 最大距離を制限した場合の各領域の面積の出し方が分からない
  • 7.2.3 画像の取り扱いの知見がないので割愛

まちがっている個所やもっと良い書き方があればX(旧Twitter)の私のアカウントまでお知らせください。

LS0tCnRpdGxlOiAi44Gv44GY44KB44GrIgphdXRob3I6ICJPc2FtdSwgTU9SSU1PVE8iCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6IAogICAgY29kZV9kb3dubG9hZDogdHJ1ZQogICAgdG9jOiB5ZXMKICAgIHRvY19kZXB0aDogMwogICAgdGhlbWU6IHVuaXRlZCAgICAKICAgIG1kX2V4dGVuc2lvbnM6ICItYXNjaWlfaWRlbnRpZmllcnMiCiAgICB0b2NfZmxvYXQ6IHllcwogICAgZmlnX3dpZHRoOiA3LjUKICAgIGZpZ19oZWlnaHQ6IDUuNjI1CiAgICBkZXY6IHJhZ2dfcG5nCiAgICBoaWdobGlnaHQ6IHRhbmdvCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUKICAgIGRmX3ByaW50OiBwYWdlZAotLS0KCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpCmBgYAoKIyMg44Gv44GY44KB44GrCgrjgZPjga7jg4njgq3jg6Xjg6Hjg7Pjg4jjga/jgI5b5oyH5qiZ44O754m55b606YeP44Gu6Kit6KiI44GL44KJ5aeL44KB44KL44OH44O844K/5Y+v6KaW5YyW5a2m5YWl6ZaAXShodHRwczovL3d3dy5zb2N5bS5jby5qcC9ib29rLzE0NDQp44CP44Gn5o+Q5L6b44GV44KM44Gm44GE44KLW1B5dGhvbuOBq+OCiOOCi+WPr+imluWMluOCs+ODvOODiV0oaHR0cHM6Ly9naXRodWIuY29tL3RrRXpha2kvZGF0YV92aXN1YWxpemF0aW9uL3RyZWUvbWFpbinjgpJbUuiogOiqnl0oaHR0cHM6Ly93d3cuci1wcm9qZWN0Lm9yZy8p44Gn5pu444GN55u044GX44Gf44KC44Gu44Gn44GZ44CCCgrjgZ/jgaDjgZfjgIFQeXRob27jga7jgrPjg7zjg4njga7nm7ToqLPjg7vpgJDoqp7oqLPjgafjga/jgarjgY9S44KJ44GX44GE5pu444GN5pa544O76KGo54++44G45oSP6Kiz44GX44Gm44GE44G+44GZ44CCCgrku6XkuIvjgYzlkITnq6DjgZTjgajjga7jg4njgq3jg6Xjg6Hjg7Pjg4jjgafjgZnjgIIKCjIwMjPlubQy5pyI5pmC54K544Gn56ysOOeroOOBvuOBp+WujOaIkOOAggoKLSAgIOesrDHnq6AgW+ODh+ODvOOCv+WPr+imluWMluOBruacrOizql0oY2hhcHRlcjEuaHRtbCkKLSAgIOesrDLnq6AgW+aVsOmHj+OCkuaKiuaPoeOBmeOCi+ODh+ODvOOCv+WPr+imluWMll0oY2hhcHRlcjIuaHRtbCkKLSAgIOesrDPnq6AgW+ODoeOCq+ODi+OCuuODoOOCkuOBqOOCieOBiOOCi+ODh+ODvOOCv+WPr+imluWMll0oY2hhcHRlcjMuaHRtbCkKLSAgIOesrDTnq6AgW+WkmuWkieaVsOOCkuOBqOOCieOBiOOCi+ODh+ODvOOCv+WPr+imluWMll0oY2hhcHRlcjQuaHRtbCkKLSAgIOesrDXnq6AgW+ODh+ODvOOCv+OBruWIhuW4g+OCkuOBqOOCieOBiOOCi+aMh+aomeWMll0oY2hhcHRlcjUuaHRtbCkKLSAgIOesrDbnq6AgW+mWouS/guaAp+OCkuOBqOOCieOBiOOCi+aMh+aomeWMll0oY2hhcHRlcjYuaHRtbCkKLSAgIOesrDfnq6AgW+ODkeOCv+ODvOODs+OCkuOBqOOCieOBiOOCi+aMh+aomeWMll0oY2hhcHRlcjcuaHRtbCkKLSAgIOesrDjnq6AgW+ODh+ODvOOCv+aMh+aomeWMluODu+WPr+imluWMluOBruODl+ODreOCu+OCuV0oY2hhcHRlcjguaHRtbCkKCgpbTUFUTEFC54mIXShodHRwczovL2dpdGh1Yi5jb20vbWlub3VlLXh4L01BVExBQi1leGFtcGxlLWZvci1Bbi1JbnRyb2R1Y3Rpb24tdG8tRGF0YS1WaXN1YWxpemF0aW9uKeOCguWFrOmWi+OBleOCjOOBpuOBhOOBvuOBmeOAggoKCuS7peS4i+OBruaWuemHneOCkuWPluOBo+OBpuOBhOOBvuOBmeOAggoKLSAgIOabuOexjeOBqFB5dGhvbuOBruOCs+ODvOODieOBp+W+ruWmmeOBq+eVsOOBquOCi+euh+aJgOOBr+OAgealteWKm+abuOexjeOBq+WQiOOCj+OBm+OCi+OAggotICAg6YWN6Imy44Gu5YaN54++44Gv55uu5oyH44GV44Gq44GE44CCCiAgICAtIGpldOOCq+ODqeODvOOBruOCsOODqeODh+ODvOOCt+ODp+ODs+OBr1t2aXJpZGlzTGl0ZV0oaHR0cHM6Ly9naXRodWIuY29tL3NqbWdhcm5pZXIvdmlyaWRpc0xpdGUvKeODkeODg+OCseODvOOCuOOBrltUdXJib+OCq+ODqeODvOOCu+ODg+ODiF0oaHR0cHM6Ly9ibG9nLnJlc2VhcmNoLmdvb2dsZS8yMDE5LzA4L3R1cmJvLWltcHJvdmVkLXJhaW5ib3ctY29sb3JtYXAtZm9yLmh0bWwp44Gn572u44GN5o+b44GI44KL44CCCiAgICAtIOOBneOBruS7luOBr0RhcmsyLCBQYWlyZWQsIFBhc3RlbDIsIFNldDLjgarjganjga7jgqvjg6njg7zjg5Hjg6zjg4Pjg4jjgYvjgonpgbjjgbbjgIIKICAgICAgIC0g6Imy5ZCN44GvcGFsZXR0ZS5jb2xvcnMocGFsZXR0ZSA9ICJEYXJrMiIp44Gq44Gp44Gn56K66KqNCiAgICAgICAtIGdncGxvdDLjgafjgYLjgozjgbBzY2FsZV9jb2xvdXJfdmlyaWRpc19kKG9wdGlvbiA9ICJ0dXJibyIp44Gq44Gp44Go44GX44Gm5oyH5a6aCi0gICDnlLvlg4/jg5XjgqHjgqTjg6vjgajjgZfjgablh7rlipvjgZnjgovpg6jliIbjgajjg5Xjgqnjg7Pjg4jjgrXjgqTjgrrjga7mjIflrprjga/nnIHnlaXjgIIKLSAgIOWQhOOCsOODqeODleOBruOCs+ODvOODieOBruOBv+OCkuOCs+ODlOODmuOBp+WLleOBi+OBm+OCi+OCiOOBhuOBq+OBhOOBoeOBhOOBoeW/heimgeOBqmxpYnJhcnnjgpLlkbzjgpPjgafjgb7jgZnjgIIKLSAgIGBjb25mbGljdGVkYOOBqGB0aWR5dmVyc2Vg44Gu5Lih44OR44OD44Kx44O844K444Gv5b+F6KaB44Gu5pyJ54Sh44Gr6ZmQ44KJ44Ga5b+F44Ga5ZG844Gz5Ye644GX44Gm44GE44G+44GZ44CCCi0gICDlv4XopoHjgarjg5Hjg4PjgrHjg7zjgrjjga/pmo/mmYLjgqTjg7Pjgrnjg4jjg7zjg6vjgZfjgabjgY/jgaDjgZXjgYTjgIIKICAgIC0gICDvvIjlvozjgafkuIDmi6zjgqTjg7Pjgrnjg4jjg7zjg6vjga7jgrPjg7zjg4njgpLov73liqDjgZnjgovvvIkKLSAgIOWJsuaEm+OBl+OBn+OCguOBruOCguS4gOmDqOOBguOCiuOBvuOBmeOAggoKCuS7peS4i+OBrueCueOBjOOBvuOBoOOBhuOBvuOBj+WGjeePvuOBp+OBjeOBpuOBhOOBvuOBm+OCk+OAguWGjeePvuOBmeOCi+aWueazleOBjOOBguOCjOOBsOOBiuefpeOCieOBm+OBj+OBoOOBleOBhOOAggoKLSAgIDEuMy40IOOAjOWIhuW4g+OBruijvuOBruanmOWtkOOAjeOBruWbs+OBr+OCiOOBj+eQhuino+OBp+OBjeOBquOBi+OBo+OBn+OBruOBp+aPj+OBhOOBpuOBhOOBvuOBm+OCk+OAggotICAgNC4yLjYg55S75YOP44Go44ON44OD44OI44Ov44O844Kv5Zuz44KS6YeN44Gt44KL5pa55rOV44GM5YiG44GL44KJ44Gq44GE44Gu44Gn5Ymy5oSb44CCCi0gICA0LjMuNywgNC4zLjgg6Zqg44KM44Oe44Or44Kz44OV44Oi44OH44Or44Gr44KI44KL5pmC57O75YiX44Kv44Op44K544K/44Oq44Oz44Kw44GM5YiG44GL44KJ44Gq44GE44Gu44Gn5Ymy5oSb44CCCi0gICA3LjEuMyA3LjEuNCDpn7Plo7Djg4fjg7zjgr/jga7lj5bjgormibHjgYTjga7nn6XopovjgYznhKHjgYTjga7jgaflibLmhJsKLSAgIDcuMS41IOW/g+mbu+Wbs+ODh+ODvOOCv+OBruWPluOCiuaJseOBhOOBruefpeimi+OBjOeEoeOBhOOBruOBp+WJsuaEmwotICAgNy4yLjEg5pyA5aSn6Led6Zui44KS5Yi26ZmQ44GX44Gf5aC05ZCI44Gu5ZCE6aCY5Z+f44Gu6Z2i56mN44Gu5Ye644GX5pa544GM5YiG44GL44KJ44Gq44GECi0gICA3LjIuMyDnlLvlg4/jga7lj5bjgormibHjgYTjga7nn6XopovjgYzjgarjgYTjga7jgaflibLmhJsKCgrjgb7jgaHjgYzjgaPjgabjgYTjgovlgIvmiYDjgoTjgoLjgaPjgajoia/jgYTmm7jjgY3mlrnjgYzjgYLjgozjgbBYKOaXp1R3aXR0ZXIp44GuW+engeOBruOCouOCq+OCpuODs+ODiF0oaHR0cHM6Ly90d2l0dGVyLmNvbS9ib2IzYm9iMynjgb7jgafjgYrnn6XjgonjgZvjgY/jgaDjgZXjgYTjgIIKCgoK