ちょっとしたことをやるだけなのに,わざわざパッケージを呼ぶなんて。
"How to Get the Frequency Table of a Categorical Variable as a Data Frame in R" だが,要するに,「度数分布表をデータフレームで返す関数 plyr:::count がいいよ!」ってことですな。
たとえば,iris データセットの Species の度数分布を知りたいとすると,
> ( w = table(iris$Species) )
setosa versicolor virginica
50 50 50
> ( t = data.frame(w) ) # as.data.frame でなくてよい
Var1 Freq
1 setosa 50
2 versicolor 50
3 virginica 50
> names(t)[1] = "Species" # 上の t の列名がイヤだというのだ
> t
Species Freq
1 setosa 50
2 versicolor 50
3 virginica 50
のようにしなきゃいけなくて,面倒!!ということのようだ。
plyr を使えば,簡単だよ!!!って。
> library(plyr)
> count(iris, 'Species') # なんで 列名を文字列で指定する?
Species freq
1 setosa 50
2 versicolor 50
3 virginica 50
おやおや。だなあ。
列名がイヤなら,table じゃなくて,xtabs を使えって,中澤さんも言ってるよ。
データフレーム名も情報に含んでくれるぞ(table 使いたきゃ,dnn を指定せよ)。
2 つくらいの関数を使うのを面倒というなら,関数化しておけ。
> data.frame(xtabs(~iris$Species))
iris.Species Freq
1 setosa 50
2 versicolor 50
3 virginica 50