web-dev-qa-db-ja.com

係数を整数に変換

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

誰かを整数に強制する方法を知っていますか? as.character()を使用すると、正しい文字に変換されますが、すぐに操作を実行できず、as.integer()またはas.numeric()は、システムはその要因を保存しているため、役に立ちません。

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

ジェフ

58
Jeff Erickson

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

> fac <- factor(c("1","2","1","2"))
> as.numeric(as.character(fac))
[1] 1 2 1 2
59
Gavin Simpson

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

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

71
Aaron