No.21485 カテゴリーを数値に変換する方法  【赤岳】 2014/12/26(Fri) 13:31

いつもご教示ありがとうございます。
Rの基本的な点を教えてください。
x1のデータをカテゴリ化して,それを数値として扱いたいのですが,x3では順序になってしまい,x2の値と異なってきます。x2の見かけのまま数値(x2の-1は1ではなく-1,0.5は3ではなく0.5など)にする方法はどうしたらよいのでしょうか。

> x1 <- c(-20, 20, 5, 80, 100)
> x2<-cut(x1, breaks=c(-Inf, -19.99, 20, 50, 80, Inf), labels=c(-1, 0, 0.5, 1, 2), right=FALSE)
> x2
[1] -1 0.5 0 2 2
Levels: -1 0 0.5 1 2
> x3<- as.numeric(x2)
> x3
[1] 1 3 2 5 5

No.21486 Re: カテゴリーを数値に変換する方法  【青木繁伸】 2014/12/26(Fri) 16:55

factor は数値と文字列の2とおりの方法で保存されている。
数値はカテゴリーの順序を表す。文字列はカテゴリーの名前(数値のときは数値を文字列としたもの)を表す。
よって,文字列を取り出し(as.character),それを数値化すれば(as.numeric),望むものが得られる。

> as.numeric(as.character(x2))
[1] -1.0 0.5 0.0 2.0 2.0

No.21487 Re: カテゴリーを数値に変換する方法  【赤岳】 2014/12/26(Fri) 18:19

青木先生,
できました!
いろいろ調べたつもりでしたが,あまり書かれておらず,質問させていただきました。
ありがとうございました。

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