ブログトップ 記事一覧 ログイン 無料ブログ開設

てのなるほうへ RSSフィード

2016-03-07

RでHTMLのテーブルになっているデータに対して基本的な統計をする

Scraping html tables into R data frames using the XML package - Stack Overflow

何も考えずに表として読めて便利!でもデータフレームには読んだあとで自分で変換するのがよさげ。

R: Coerce to a Data Frame

データフレームへの変換。

R言語を扱う際のtips by Rstatistics.net - Qiita

読んだデータの数値が数値になってアレなときに。

dataframe - Removing duplicated rows data frame in R - Cross Validated

データソースがアレで重複が多いときに、重複を削る方法。

r - How to sum a variable by group? - Stack Overflow

カテゴリごとの合計を出す、という初歩的な処理のやり方。

Column Names of R Data Frames - Stochastic Nonsense

データフレームの列名を変更する方法。

Rによる調査データの整理 - FPU SLC

データが読めた後、データを処理する方法。

棒グラフ |

棒グラフでデータを表示する方法あれこれ。

r - How can I make my vertical labels fit within my plotting window? - Stack Overflow

棒グラフの項目ラベルが画面からはみ出したときの対処法。

call - Running a Windows executable file from within R with command line options - Stack Overflow

WindowsコマンドをRから呼び出す方法。これを使ってsedを呼んでプリプロセッシングをゴニョゴニョとすると大変良いです。

sedをWindowsで使う

処理しなきゃいけないテキストがアレで大量に置換処理とかをしなきゃいけないときに、sedができると大変ハッピーになれます。

"Web開発ツールを使いこなせ!"クリエイターの道具箱 (14) sedを使った文字列置換 | マイナビニュース

基本はここに一通り書いてある感じ。

sed for Windows

バイナリインストーラダウンロードはこちら。

What characters do I need to escape when using sed in a sh script? - Unix & Linux Stack Exchange

どの特殊文字をどういうときにエスケープしなければいけないか。

2016-02-28

[音楽]SFCは名曲揃いだったなぁ

同時に出せる音の数も音色も限られていたのに、今聴いても迫るもののある名曲が多かったと思う。特に90年代のスクウェアは神憑り的だ、と思ったので個人的に好みの曲へのリンク。

D

D

D

D

D

D

D

D

結局のところ、制約がクリエイティビティを生み出す、だとか、弘法筆を択ばず、だとかの使い古された話に落ち着くわけだけど、それにしても凄い時代だった。

2016-02-24

クラスター分析(クラスタリング、cluster analysis)に関するWeb上の参考ページリスト

業務でクラスター分析をしてみた際に参考にしたページ達。

そもそもクラスター分析とは

クラスタリング (clustering) とは,分類対象の集合を,内的結合 (internal cohesion) と外的分離 (external isolation) が達成されるような部分集合に分割すること

そうそう、そういう事をしたいんです。

なんかドベーっとした売上データがあって、傾向を出しやがれ!って言われる訳ですが、次元が多すぎて物理空間の制約から外に出られない私の思考ではどうもならなかったので計算でなんとかしようと思ったわけです。

なるほど、階層型と非階層型があるわけですね。手持ちのデータが多いのか少ないのかよく分かりませんが、とりあえず計算量が少なそうな非階層型から試してみましょう。

非階層型クラスタリング - k-means法

手持ちの某処理系ではk-meansはあったけど、ykmeansみたいな良きに計らえ系のパッケージは無かったので、まぁ結果が安定しないしない。毎回結果が違うんですね。なんだこりゃ。

最初に選ばれる点がどこになるかで結果が結構違うわけですね。なるほどダメです。

データ量もどうやら一般にこういう分析をする向きからすると屁でもない量のデータしか無い様子ということが掴めたので、階層型クラスタリングにスイッチ。

階層型クラスタリングの前に処理系の準備 - R

手持ちの処理系だととても手に負えそうにないので、統計処理専門の処理系であるRを導入。これが無料だもんなぁ、良い世の中になったなぁ。

階層型クラスタリング + ヒートマップ


Rでとりあえず階層型クラスタリングを実行。案外簡単にできた。

個人的な好みでしかないし、スキル不足だからなのは明確ではあるのだけど、やっぱりアルゴリズムは安定なものが精神衛生上良い。

完成したヒートマップは業務データが含まれるので自粛。

上記一番下のリンクは、グラフ描画時のマージン設定。マニュアルに書いてなくて多少ハマった。

library(gplots)
table <- read.csv("hogehoge.csv",header=TRUE,row.names=1)
d <- dist(table,method="canberra")
cluster <- hclust(d, method="centroid")

heatmap(
 as.matrix(table),
 Rowv = as.dendrogram(cluster),
 Colv = NA,
 col = heat.colors(256),
 margins = c(8,5),
)

おまけ: データの標準化

あんまり絶対値的に違いすぎる量がデータの中にあると、絶対値が少ないパラメータクラスタ形成に対する寄与度が相対的に小さくなってしまう(そりゃ距離の計算だしね)ので、標準化したほうがよさげ。

今後

Rは結構面白い。参考書も買ったし、もうちょっと基本的なところから順次掘り下げてみたい。

クラスタリングについては、評価関数の使い方とか、各種距離関数や各種クラスタリング手法の特徴をきちんと覚えておく必要があると感じた。

何を持って正しくクラスタリングできたと言えるんだろう?結果を見て云々する時点で、予断を持ってデータを見ている気がするのだが、これでやれば絶対OK!って手法があるわけでもないので、正しさの判断には今後も苦労しそう。

ただ、距離関数、クラスタリング手法を変えてみてもそう変わらないクラスタも中にはあるので、そういうのがより明確なクラスタなのだろう。

2016-02-03

クラウドコンピューティングの凄さを実感した日。

仕事で、Redmineというソフトをサーバ上で動かして使う必要があったので、Amazon EC2(仮想のパソコンを動かせるサービス)を初めてまともに使ってみた。

ここの手順に沿ってRedmineを含んだ仮想マシンセットが最初からあったのでそれを使ってみたら、アカウント登録から初回ログインまで30分くらいでできてしまった。

しかも利用人数はごく限られているので、使用料金はほぼタダ。

これが一昔前なら、やれ使って良いマシンを探してきてOSから入れなおして、四苦八苦しながらソフト入れて、さらに悪戦苦闘しながらソフトとOSの設定をやって…と、これだけで1日取られていたと思うし、その間にかかる電気代だってもっと掛かっていたと思う。

クラウドを使うことで、道具立てに時間をとられること無く、本当にやりたいことに集中できた初めての体験だった。良い時代になったものだ。

しかしこうなると、自宅で外向けのサーバを立てる事とか、もはやそれそのものが趣味でない限り合理性がほとんどないなぁ…。

自分の好みが分かってきた

昔から好きなアーティストというのは特におらず、曲単位でとても気に入ったものをいろいろ集めて聞くという聞き方をしていたのだけど、この聞き方だと観測範囲が内向きに収束していくというか、自分の知識の外にあるであろう色々な良い曲に巡りあうのがなかなか難しかった。

街を歩いていると、店から流れてくる曲でとても琴線に触れるものがあったりして、昔だとそれがなんていう曲かなんて知りようがなかったのだけど、最近だとShazamとか使えばかなり良い精度で曲を知り当てることができるようになったので、極度に内向きの聴取性向でも多少新しい曲に巡りあうことが増えた。

そうやってちらちらと、自分にとって新しい曲を摂取していくうちに、おぼろげながら自分の好む曲の傾向が分かってきた気がする。

D

(ところで、なんでこのビデオはオフィシャルなのにこんなに音がバリバリに割れているんだろう…?)

D

恐らくフレンチ・ポップとかシティ・ポップとかの雰囲気と、ファンクの流れをくむダンスミュージックとかが良いんだろうな…と思いつつ、自分の好きな音を表すカテゴリが何なのかしっくり来ずに、ずっともやもやしている。

しっくり来るカテゴリがわかれば、そこから芋づる式にもっと多くの楽しい曲に触れられるのだろうけど。

2016-01-31

2016年が8%終了しました

もう1月も末ですので、早いもので2016年も1割に迫るくらいが過ぎてしまいました。

私はといえば、やっと逃れられると思った確定申告に今年も追い掛け回されて週末が終わりました。

というか結局、向こう数年は確実に確定申告しなきゃいけないんだな…ということになるので、つくづく普通のサラリーマン生活には戻れない体質になってしまったようです。サラリーマンですけど。

ところで、住宅ローンって50%が自己居住用なら残り50%は貸しに出す用でも良いらしいです。ものすごく夢が広がる制度ですねぇ…まぁ私は今更新規の住宅ローンは組めませんが。もう少し前に知っておきたい仕組みでしたね。