読者です 読者をやめる 読者になる 読者になる

草薙の研究ログ

英語教育関係。でも最近は統計(特にR)ネタが中心。

相関係数行列の対角線から見て右上を落とす

背景

問い合わせが結構あって。

聞くところによると,例えばSPSS(触ったことない)とかエクセルの分析ツールを用いて相関係数行列を出すと,対角線から見て右上にも出力されて,それが面倒だとか。例えば,

 

f:id:kusanagik:20140413161847p:plain

 

こんな感じ。

コレぐらいだったら手でやればいいけど,変数が40とかだったらもういやだ。

これはどうにかならないだろうか。

 

準備

結構簡単に,しかも自動的にやる方法がある。たくさんある。

まず,一番簡単なのはテキストエディタを使うこと。

始める前に「正規表現」がサポートされているテキストエディタをダウンロードする。

なんでもいいけど,Win機対応,フリーで人気あるのはサクラエディタかな。秀丸があるなら秀丸でもいい。MacOS/LINUXなら端末を開いてperlでもいいし,テキストエディタは色々なんでもいい。

MacOS系は以下の方法だとこれだとうまくいきません,すみません)

 

サクラエディタ Download

 

これを準備しておく。

 

やり方

①相関係数行列(変数名なし,係数だけ)をサクラエディタ(や他の)に貼り付ける。恐らくエクセルからコピーしたなら自動的に区切りをタブとされている筈。こんな感じ。

 

f:id:kusanagik:20140413162824p:plain

 

②バーの「検索」から「置換を選ぶ」

f:id:kusanagik:20140413162944p:plain

 

③「正規表現」にチェックが入っているか確認する。

④置換前のところに,

1.00.+\r\n

と入力する(場合によっては¥マークになっててもよい)

置換後に

1.00\r\n

と入力する。(正規表現としてはもっと洗練されたやりかたがありますが簡便に)

これで「すべて置換」。

 

わあい。できたーできたー。

f:id:kusanagik:20140413163442p:plain

 

もし,係数が1.00などではなくて,1になっている場合は,

置換前を

\t1\t.+\r\n

置換後

\t1\r\n

でいいでしょうかね。キレイに取れたら,これを全選択コピーしてエクセルなどに戻す。

 

こんな感じで。

正規表現を使う人は当たりまえなんだけど,意外に正規表現を日常的に使う,って人はすくないんだなあ,っていう話で。