2016-11-17 3 views
1

私は1.1e-07のような科学的表記法番号のデータ表を持っています。
私はas.numericで、通常の番号にこれらの数字を変換しようとすると、Rは私に間違った番号を与える、などの:
1.1E-07:5977
1.4E-06:5633
など
どのようにすることができますこれを修正しますか?R:科学の表記法が数字に間違って絡む

UPD:おかげで、それは本当にあなたの番号が最もおそらく要因として定義されている

+0

入力データの種類は何ですか?それが要因ならば、私はあなたの間違った結果を期待するでしょう。どこからデータを取得しますか? – PhillipD

+0

ほとんど確かに彼らは要因としてインポートされました。 – joran

答えて

3

要因試合でした。これにより、as.numericは入力の「値」を返さず、因子レベルのシーケンス番号が返されます。

x <- as.factor(c(1.1e-7, 2e-8)) ## convert two numbers to factors 

as.numeric(x) 
[1] 2 1 

この問題を解決するには、データソースの要素ではなくデータを必ず読み込んでください。迅速かつ汚いソリューションはところで

as.numeric(as.character(x)) 
[1] 1.1e-07 2.0e-08 

format(as.numeric(as.character(x)), scientific = F) 
[1] "0.00000011" "0.00000002" 

ようなものになるだろうということ

注意、科学的表記はR. formatで標準の文字として数字をキャストします。

関連する問題