On Jun 16, 2009, at 6:13 PM, jproville wrote:
Thanks David! I had trouble understanding how to convert factors,
and was
playing around with as.numeric but it had never occurred to me to
use a
combination of both that and as.character.
There's a FAQ on the topic.
I am getting really close to the graph I want - I've played around
with the
arguments however I am still hitting a snag, if you have any insight
as to
how to solve this I would be really grateful:
There seems to be some sort of difficulty in labeling axes spanning
from a
negative integer to a positive - I am getting the following error
message
Error in `[.default`(z$bins, seq(-36, 33, by = 5)) :
only 0's may be mixed with negative subscripts
Yeah, that's what you get for not including a test dataset ...
untested code with bugs.
The second seq() for the labels argument should start with 1 and go to
36 + 33 + 1. With your data you might first check to see if these
register properly. What does this display
c( seq(-36, 33, by = 5), (z$bins[seq(1, 70, by = 5)] )
Thanks again for your help!
Jeremy Proville
M.Sc. Candidate
Bioresource Engineering, McGill University
David Winsemius wrote:
The canonical method of creating a numeric value from a factor is to
wrap the factor in as.numeric(as.character( (.)) The as.character
grabs the value from the factor levels rahter than giving you the
internal codings and the as.numeic finishes the job.
Set xaxt=FALSE in the plot arguments. The axis can be managed with
the
axis() function with at= and labels= arguments. You might want to not
plot every one of them, perhaps:
at = seq(-36, 33, by = 5) , labels = as.numeric(as.factor(z
$bins[seq(-36, 33, by = 5)] )),
--
David Winsemius
On Jun 15, 2009, at 7:09 PM, jproville wrote:
Hi,
I'd really appreciate if someone could give me some help or advice
about
this - I've tried everything I know and am clueless about how to
proceed!
I've written a script to import ASCII data of raster maps, bin them
into
categories, calculate the mean values within these bins and plot the
two in
a simple graph. I'm running into problems with my x axis, as R
cannot add
the bin categories as labels and simply outputs the factor values of
the
number of bins.
In much more detail:
One set of data is fractional values for the amount of cropland in a
designated area (raster cell). The second is annual average
temperature
data, in the same format. I import these using:
xRaw<-scan(".../Temp.txt")
yRaw<-scan(".../Cropland.txt")
and then designate cells with values of -9999 as NAs:
x<-ifelse(xRaw==-9999,NA,xRaw)
y<-ifelse(yRaw==-9999,NA,yRaw)
Then, I compile them into a 2 column data frame, and exclude the NA
values:
zRaw<-data.frame(x,y)
z<-na.exclude(zRaw)
I am then left with data frame 'z' which is a refined list of data.
Using
the 'cut' function, I assign each row into one of 69 different bins:
z$bins<-cut(z$x, breaks=c(-36:33), include.lowest=TRUE)
Each bin is now 1 degree Celsius wide. Within each one, I calculate
the mean
value of the corresponding fractional cropland data:
a<-tapply(z$y, z$bins, mean)
Object 'a' now contains each bin category and the associated mean
cropland
values, so 69 points in total.
Now, a problem arises when I try and plot these values using:
plot(a, xlab="Temperature", ylab="Fraction of Cropland", pch=20)
What happens is that R intuitively labels my x-axis from 1-70, which
corresponds to the bin factor values that were returned when the
'cut'
function was used. I would like to simply label the x-axis with my
temperature values, from -36 degrees to 33 degrees, instead of
having
numbers 1-69. How can I do this??
Thanks,
Jeremy Proville
M.Sc. Candidate
Bioresource Engineering, McGill University
--
View this message in context:
http://www.nabble.com/Bin-Category-Labels-on-Axis-tp24042325p24042325.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
--
View this message in context:
http://www.nabble.com/Bin-Category-Labels-on-Axis-tp24042325p24063836.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.