記述統計でてんやわんや。

ここからはしばらく記述統計でてんやわんや。

まずはattachを使って、いちいち明示($をつけなくてもよいように)しなくてもいいようにしてみた。
attach(individual)とすればいい。

このattach関数は便利なんだけどちょっと分かりにくい。
データフレームがたくさんある場合には、いちいちdetach()しないといつまでこのattachが生きているかよくわからないし、これをしていればすべてに明示が必要なくなる訳ではないので、混乱する。できれば使わないほうがいいかも。

でもまあ単純な時には便利な関数。

まずはクロス集計表をつくる。
職種ごとのsexとjobstyle、Spouse.

f:id:jigawa91:20120320225044p:image

とりあえず出た。
しかし、こういうのひっくるめてうまいことやる方法はないかなあということで、@kosugitti先生に教えてもらいました。

コマンドはこちら。
aggregate(individual[c(“sex”,”jobstyle”,”Spouse”)], list(individual$job), table)

これでまとめてできる。

f:id:jigawa91:20120320225045p:image

by関数を利用するよりもこちらのほうが良さそうですね。
ちなみに、listはまだ僕も理解してないけどjobごとにみたいなことをする場合には、いったんこれでまとめた方が認識しやすくなるみたい。

ここらへんは説明困難なので、試行錯誤といった感じかなあ。。
イメージとしては、1×1の場合は明示もいらないけど、1×3の場合は明示したりlistを使ったりする必要あると思っておけばいいかな。。

職種ごとの記述統計はこんな感じ。by関数を使う。

f:id:jigawa91:20120320225046p:image

結構詳しく出ますけど、正直こんなに必要ないよね。。

ということでこれもまとめてやってみる。平均値と標準偏差だけ。
aggregate(individual[c(“age”,”Employee”)], list(individual$job), mean,na.rm=T)
aggregate(individual[c(“age”,”Employee”)], list(individual$job), sd,na.rm=T)

f:id:jigawa91:20120320225047p:image

これを一気にやれればいいのだけど。。。
ここまでやって思う事は、記述統計については、残念ながらExcelのピポットテーブルのほうが分かりやすいな。。ということだが一応なんとかできたので少し満足。
Excelはいまいち信用できないし、よく落ちるので、直感的に操作してみてその後にRで検算するのがいいかと思っています。

忘れないようにdetach()して今日は終了。
なかなか先は長いな。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です