12
> X864291X8X74
[1] 8.0000000000  9.0000000000  10.0000000000 6.0000000000  8.0000000000 
10 Levels: 0.0000000000 10.0000000000 12.0000000000 3.0000000000 4.0000000000 6.0000000000 ... NULL

> as.numeric(X864291X8X74)

[1] 8 9 2 6 8

私は何を誤解しましたか?as.numeric 8 9 10 6 8 の結果であってはなりませんか?

正しい結果を得るにはどうすればよいですか?

4

2 に答える 2

27

あなたのベクトルはfactor. この質問は、かなりの回数尋ねられています。例: hereherehere . 係数を数値に変換するには、character最初に変換する必要があります。試す:

as.numeric(as.character(my_vec))
于 2013-02-21T22:32:40.647 に答える
2

のドキュメントに?factorは次のように記載されています。

f因子をほぼ元の数値に 変換することをas.numeric(levels(f))[f]お勧めします。as.numeric(as.character(f)).

したがって、以下も同様に機能します。

as.numeric(levels(my_vec))[my_vec]
于 2013-02-21T22:56:15.670 に答える