2

rのプロットに大きな数字を表示したい. しかし、私はこのエラーが発生します:

私の番号は次のとおりです。

[1] "9,02E+11" "9,02E+11" "9,02E+11" "9,02E+11" "9,02E+11" "9,02E+11" "9,02E+11"
[8] "9,02E+11" "9,02E+11" "9,02E+11" "8,45E+12" "8,45E+12" "8,45E+12" "8,45E+12"
[15] "8,45E+12" "8,45E+12" "8,45E+12" "8,45E+12" "8,45E+12" "8,45E+12" "1,31E+13"
[22] "1,31E+13" "1,31E+13" "1,31E+13" "1,31E+13" "1,31E+13" "1,31E+13" "1,31E+13"
[29] "1,31E+13" "1,31E+13" "1,48E+13" "1,48E+13" "1,48E+13" "1,48E+13" "1,48E+13"
[36] "1,48E+13" "1,48E+13" "1,48E+13" "1,48E+13" "1,48E+13" "1,36E+13" "1,36E+13"
[43] "1,36E+13" "1,36E+13" "1,36E+13" "1,36E+13" "1,36E+13" "1,36E+13" "1,36E+13"
[50] "1,36E+13" "9,59E+12" "9,59E+12" "9,59E+12" "9,59E+12" "9,59E+12" "9,59E+12"
[57] "9,59E+12" "9,59E+12" "9,59E+12" "9,59E+12" "2,64E+12" "2,64E+12" "2,64E+12"
[64] "2,64E+12"

そして簡単なコード:

plot(dataliste,type="l")

この svalues を Excel ファイルから読み取っていますが、範囲が広いため、ylim の制限を指定できません。この問題を解決するにはどうすればよいですか

4

1 に答える 1

6

これを試して:

plot(sapply(dataliste, function(x)gsub(",", ".", x)))

Roman Luštrik が指摘したように、データにはおそらく文字が含まれています。通常、それらをプロットしたり、as.numeric で変換したりできます。ただし、文字列に a の,代わりに aがある.ため、数値への変換は失敗します。例:

> as.numeric("9,02E+11")
[1] NA
Warning message:
NAs introduced by coercion 
> as.numeric("9.02E+11")
[1] 9.02e+11

,上記のように gsub を使用すると、各数値を aに置き換えることができ.、プロットが機能するはずです。

于 2013-11-07T13:09:50.707 に答える