[R] Interesting Behavior in plot()
Duncan Murdoch
dmurdoch at pair.com
Tue Mar 30 00:15:50 CEST 2004
On Mon, 29 Mar 2004 14:06:36 -0800 (PST), Clint Bowman
<clint at ecy.wa.gov> wrote :
>I have a 2 by 226200 table, conveniently read in by read.table(), which
>exhibits some strange behavior when plotted by plot(V1,V2). The general
>pattern for the range of windspeeds, [0<V1<50] is as expected -- the wind
>gust falls in the interval [V1<V2<65] except for certain values of V2.
>For V2 == c(15,26,37,48,59), the V2 values are positioned at one-tenth of
>the V1 (i.e., as if I had issued the command plot(0.1*V1,V2) for just
>those values of V2 -- see attached plot, test.png). The only other values
>of V2 in the range, 4 and 70, also seem to be affected but aren't well
>enough represented to show up clearly on the plot.
>
>However, if I plot(ws$V1[ws$V2==48],ws$V2[ws$V2==48]), I see the second
>attachment, test2.png, which confirms that the wind speed (V1) really
>should be positioned where one would expect. I haven't seen any messages
>covering this behaviour and so am looking for an explanation.
I can't quite see how it would generate the symptoms you saw, but a
common source of oddities is that data is read as factors rather than
as numeric values. You can see the difference using the str()
function, e.g.
> str(x)
num [1:10] -0.4897 0.6804 0.6979 -0.1203 -0.0428 ...
> str(as.factor(x))
Factor w/ 10 levels "-1.65972758..",..: 4 7 8 5 6 9 2 10 3 1
I'd check your V1 and V2.
Duncan Murdoch
More information about the R-help
mailing list