1

文字列から整数へのデータのキャストに問題があります。

たとえば、元のデータは次のようになります

orderdt[1:10,2]

[1] 71004 13943 11337 9647  9363  6836  5957  5167  4963  4850  

しかし、このようにダブルにキャストすると、まったく異なる数に変わります

as.numeric(orderdt[1:10,2])

[1]  854  164   82 1069 1051  823  724  636  613  600

もともと私は柱(約1ミル列)を2重に鋳造しましたが、下部のほとんどが変換され、最初の300程度だけがこの方法でねじ込まれました。なぜこれが起こったのか、それを修正する方法を知っていますか?

助けてください。

4

1 に答える 1

4

ほぼ確実にあなたには要因があります。確認するには、次を使用します。

is.factor(orderdt[1:10,2])

それが要因である場合、より

as.numeric(as.character(is.factor(orderdt[1:10,2])))

あなたが期待することをする必要があります。

あなたが今(おそらく)持っている質問は、なぜ私が要因を持っているのかということです。知るのが難しい詳細情報はありませんが、通常の理由は、データを(たとえば、csvファイルを介して)ロードしていて、「数値」の1つが数値ではないことです。たとえば、「1.12」ではなく「1,12」があります

于 2013-02-20T20:27:15.270 に答える