64

reshapeパッケージを使用してデータフレームを操作しています。メルト関数を使用すると、値の列が因数分解されます。これは、これらの値のサブセットが、操作を実行できるようにしたい整数であるため、問題になります。

因子を整数に強制変換する方法を知っている人はいますか?を使用as.character()すると正しい文字に変換されますが、すぐに操作を実行できないas.integer()as.numeric()、システムがその係数を格納している数値に変換されます。これは役に立ちません。

ありがとうございました!

ジェフ

4

2 に答える 2

77

のヘルプページから直接引用factor

因子 f を元の数値に変換するには、as.numeric(levels(f))[f]が推奨され、 よりわずかに効率的ですas.numeric(as.character(f))

于 2011-01-25T21:04:39.933 に答える
64

2 つの機能を組み合わせることができます。文字から数値への強制:

> fac <- factor(c("1","2","1","2"))
> as.numeric(as.character(fac))
[1] 1 2 1 2
于 2011-01-25T20:21:55.620 に答える