No.13175 Rについて(tableとdata.frame)  【ポラーノ広場】 2010/07/29(Thu) 15:52

Rの使い手の皆様に質問させていただきます。
table関数を使って作ったデータ(数値と度数)をデータフレーム にするにはどのようにするかご教示いただけないでしょうか?データフレームの1列目には数値,2列目に度数を入れたいと思いま す。(as.data.frameを使うと,うまくいきません。数値が取り出せません。)

例えば,

a <- runif(100, 1, 100)
b <- round(a)
table(b)
ここから先をよろしくお願いいたします。

No.13176 Re: Rについて(tableとdata.frame)  【青木繁伸】 2010/07/29(Thu) 16:46

R のバージョンはいくつかな?
少なくとも,R version 2.11.1 なら,
x <- table(b)
as.data.frame(x)
としたら,お望みのようになると思いますけど?
    b Freq
1 2 1
2 3 1
3 6 3
4 10 1
:
60 93 1
61 94 1
62 95 1
63 97 2
64 98 1
どのようにうまくいかないか,実行例を添えて具体的に書いてください。

No.13178 Re: Rについて(tableとdata.frame)  【知ったかぶり】 2010/07/29(Thu) 16:50

d<-data.frame(table(b))

d$bは因子型なので,

d$b<-as.numeric(levels(d$b)) #あるいは d$b<-as.numeric(as.character(d$b))

で数値型に変換すればよろしいかと.

No.13181 Re: Rについて(tableとdata.frame)  【青木繁伸】 2010/07/29(Thu) 17:04

> d$bは因子型なので,

ああ,なるほど,質問者はそれを聞きたかったんですね。 as.data.frame でうまくいかないと書いていたので,やってみたら見た目は No.13176 に書いたとおり数値もちゃんと表示されていたのでどこに問題があるか分からなかった。データフレームの 1 列目から数値を取り出そうとしたらうまくいかないということですね(そういえば,質問に「数値が取り出せません」と書いてありますけど,あいまい)。

数値を取り出そうとして,それが factor で数値にならないと分かれば,数値にすればよいわけで,前もって数値化しておいてもよいわけですね。

No.13190 Re: Rについて(tableとdata.frame)  【ポラーノ広場】 2010/07/30(Fri) 08:04

青木先生,「知ったかぶり」さんご返答ありがとうございました。
質問が具体的ではなく失礼しました。
大変参考になりました。感謝,感謝です。

● 「統計学関連なんでもあり」の過去ログ--- 043 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る