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")

我正在从一个excell文件中读取这个svalues,我不能为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 回答