Blogセプテーニ・オリジナルのエンジニアが綴る技術ブログ2013-08-30R言語をいじってみたお知らせお元気ですか?明日から弊社テニス部の合宿でウキウキしてる@toshikimiyagawaです。先のエントリーで紹介したとおり、弊社では開発合宿というものを行っています。今回私はR言語について調べましたので、簡単に紹介したいと思います。http://www.r-project.orgR言語とはオープンソース・フリーソフトウェアの統計解析向けのプログラミング言語及びその開発実行環境です。特徴等はコピペするのもめんどくさいのでwikipediaをご覧ください。インストール方法等も割愛します。R言語を利用するにあたってRstudioなどの統合開発環境を入れると捗ります。mac版のRstudioでグラフ表示の時に日本語が□で表示される場合は、こちらを参考に.Rprofileを作ってやるとちゃんと表示されるかと思います。クラスタリングとヒートマップ今回はRの数ある機能の中でもクラスタリングとヒートマップについて紹介します。クラスタリングとは似たデータをグルーピングすることで、ヒートマップはデータの大小を可視化したものです。具体例をもとに紹介したほうがわかりやすいと思うので、早速実例に沿って説明していきましょう。データセット」等で検索すると、サンプルのデータが色々見つかります。R自身にも多数のデータセットが最初から入っています。今回は、DoDStat@dというサイトの都道府県別アルコール類の消費量というデータを利用します。こちらのページからsake_dataJ.txtをダウンロードします。Shift_JISのデータなので、必要であれば文字コードをOSに合わせて変換します。私はmacでしたのでターミナルから以下のコマンドでUTF-8に変換しました。sake_dataJ_utf8.txtヒートマップを描いてみるダウンロードしたデータをユークリッド距離とウォード法と呼ばれる手法を用いて、ヒートマップを作成します。cexRow=0.7)この図で濃い紫が数値の大きい部分、左と上のトーナメント表みたいなのがデンドログラムと呼ばれるクラスタリング結果になります。デンドログラムは高さが高いほど離れたクラスタということになります。上のデンドログラムで説明するとビールとその他がだいぶ離れていることになります。このデータだとビールだけ濃くて他は薄くなってます。データを見てみるとわかるのですが、単純にビールの消費量が他のお酒に比べて多すぎなだけですね。このままじゃまったくもってつまらない解析結果になってしまいます。標準化するこのデータにはふたつの問題があります。・ビールの消費量は多くて当然というものです。ひとつめを解決するために各地域のお酒の消費量を割合で表すことにします。2.5208238という風に百分率表示にします。ふたつめを解決するために標準化という操作をします。標準化することで、ビールも焼酎も全地域の平均が0、分散が1になるのでビールの消費量が全国的に多いという問題を無視することができます。この操作をした上でヒートマップにするには以下の様なコードを入力します。cexRow=0.7)このヒートマップが以下の図になります。きれいにクラスタリングできていますね。上の方の東京あたりまではウイスキーの消費の多い地域、下の方の徳島以下はビールの消費の多い地域であることが見て取れます。山梨はさすがぶどうの産地でワイン推しなのが見て取れますね。ワインの消費が目立って多いです。他の地域と似ていないことからデンドログラムも高くなっています。お酒ごとの相関はあまりないですね。ヒートマップも似てないですし、デンドログラムも高くなっています。このように少しデータを加工してやることでヒートマップとデンドログラムを用いて面白い解析結果を得ることができました。みなさんも是非R言語触ってみてください。それでは、今回はこのへんで。Loungeを開催しました!2年目エンジニアの大北です。今日は9/5に開催した弊社主催のエ...セプテーニ・オリジナルでは一緒に働く仲間を募集中です!ぜひ一度採用サイトを御覧ください。»セプテーニ・オリジナルはScalaMatsuri2020の将軍スポンサーです。ScriptPYXISインフラチームの軌跡プログラミング初心者が3ヶ月半の研修を終えて月別アーカイブ検索はてなブログをはじめよう!septeni-originalさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。