Skip to content

Graphical Display of Values' Distribution

3 messages · Steve Murray, Ben Bolker, Philipp Pagel

#
Dear all,

I have a column within a dataframe of values which range between 1 and 2. I want to display graphically the distribution of these values (i.e. are they clustered towards either exteme? Or spread evenly?). What is a good way of doing this in R?

I've tried a few things, including using the 'hist' command, but receive the following error message:
Error in hist.default(urban.long[3]) : 'x' must be numeric

...which is strange because all the values *are* numeric!


I also tried to create a scatter graph, but it's difficult as there isn't anything obvious to go on the 'y' axis. I've tried to create some kind of 'frequency' axis using the 'sequence' function, but receive the following:
Error in xy.coords(x, y, xlabel, ylabel, log) : 
  'x' and 'y' lengths differ

...which is probably because I'm unable to tell how many of each value there are (which invalidates the 'sequence' argument perhaps?).


Maybe I'm taking the wrong approach! I'd be very grateful if someone could put me on the right tracks and guide me with the R commands.

Many thanks for any help offered,

Steve
#
Steve Murray <smurray444 <at> hotmail.com> writes:
want to display graphically the
Or spread evenly?). What is
following error message:
hist, plot(density(x)), rug ...

  are you sure that your column really is numeric and hasn't
gotten turned into a factor because of a glitch?  what do you
get from class(urban.long[3]) ?

  Ben Bolker
#
Your approach is correct with one minor glitch:
urban.long[3] is not a vector but again a data.frame. Try

hist(urban.long[,3])

That should do what you want.

cu
	Philipp