[R] Histogram plots in Lattice with spatialgrid dataframe data

Thomas Adams tea3rd at gmail.com
Mon Jul 10 06:09:21 CEST 2017


Jeff,

Thank you! I know what I did was very inelegant and I understand about
providing a reproducible example; I just could not do it with my data -- I
guess I was too lazy to make up a toy one. I apologize about the email
formatting.

I would never have known to use 'stack', 'levels' 'gather' and 'mutate' --
still very much learning... so, I appreciate what you provided. Thank you
so much!

Tom


On Sun, Jul 9, 2017 at 10:16 PM, Jeff Newmiller <jdnewmil at dcn.davis.ca.us>
wrote:

> Glad you found an answer, though it looks more self-educational than
> efficient (see suggestions below). In the future, follow the
> recommendations of the Posting Guide: use plain text, and provide a
> reproducible example. Some elaborations on what "reproducible" means are
> [1][2][3]. One issue here was that you did not include sample data to work
> with (I have assumed below that ann_bias has no other columns than the
> biasNNNN columns, which is not the usual case).
>
> There are a number of ways to achieve the reshaping of your ann_bias data
> frame that are less painful than your approach. For example, the base R
> "stack" function:
>
> bias2 <- stack( ann_bias )
> names( bias2 ) <- c( "bias", "year )
> levels( bias2$year ) <- sub( "bias", "", levels( bias2$year ) )
>
> Or... if you are willing to venture into the tidyverse...
>
> library(dplyr)
> library(tidyr)
> bias3  <- (   ann_bias
>          %>% gather( year, bias )
>          %>% mutate( year = factor( sub( "bias", "", year ) ) )
>          )
>
> [1] http://stackoverflow.com/questions/5963269/how-to-make-
> a-great-r-reproducible-example
>
> [2] http://adv-r.had.co.nz/Reproducibility.html
>
> [3] https://cran.r-project.org/web/packages/reprex/index.html
>
> --
> Sent from my phone. Please excuse my brevity.
>
> On July 9, 2017 12:32:32 PM PDT, Thomas Adams <tea3rd at gmail.com> wrote:
> >Hello all,
> >
> >After more digging I was able to find out how to do this. The answer
> >came
> >from an example here:
> >
> >https://stackoverflow.com/questions/3541713/how-to-plot-
> two-histograms-together-in-r
> >
> >
> >yr_1997<-data.frame(bias=ann_bias$bias1997)
> >yr_1998<-data.frame(bias=ann_bias$bias1998)
> >yr_1999<-data.frame(bias=ann_bias$bias1999)
> >yr_2000<-data.frame(bias=ann_bias$bias2000)
> >yr_2001<-data.frame(bias=ann_bias$bias2001)
> >yr_2002<-data.frame(bias=ann_bias$bias2002)
> >yr_2003<-data.frame(bias=ann_bias$bias2003)
> >yr_2004<-data.frame(bias=ann_bias$bias2004)
> >yr_2005<-data.frame(bias=ann_bias$bias2005)
> >yr_2006<-data.frame(bias=ann_bias$bias2006)
> >yr_2007<-data.frame(bias=ann_bias$bias2007)
> >yr_2008<-data.frame(bias=ann_bias$bias2008)
> >yr_2009<-data.frame(bias=ann_bias$bias2009)
> >yr_2010<-data.frame(bias=ann_bias$bias2010)
> >yr_2011<-data.frame(bias=ann_bias$bias2011)
> >yr_2012<-data.frame(bias=ann_bias$bias2012)
> >yr_2013<-data.frame(bias=ann_bias$bias2013)
> >yr_2014<-data.frame(bias=ann_bias$bias2014)
> >yr_2015<-data.frame(bias=ann_bias$bias2015)
> >yr_2016<-data.frame(bias=ann_bias$bias2016)
> >
> >
> >yr_1997$year<-'1997'
> >yr_1998$year<-'1998'
> >yr_1999$year<-'1999'
> >yr_2000$year<-'2000'
> >yr_2001$year<-'2001'
> >yr_2002$year<-'2002'
> >yr_2003$year<-'2003'
> >yr_2004$year<-'2004'
> >yr_2005$year<-'2005'
> >yr_2006$year<-'2006'
> >yr_2007$year<-'2007'
> >yr_2008$year<-'2008'
> >yr_2009$year<-'2009'
> >yr_2010$year<-'2010'
> >yr_2011$year<-'2011'
> >yr_2012$year<-'2012'
> >yr_2013$year<-'2013'
> >yr_2014$year<-'2014'
> >yr_2015$year<-'2015'
> >yr_2016$year<-'2016'
> >
> >
> >bias<-rbind(yr_1997,yr_1998,yr_1999,yr_2000,yr_2001,yr_
> 2002,yr_2003,yr_2004,yr_2005,yr_2006,yr_2007,yr_2008,yr_
> 2009,yr_2010,yr_2011,yr_2012,yr_2013,yr_2014,yr_2015,yr_2016)
> >histogram(~ bias | year, data=bias)
> >
> >Cheers!
> >Tom
> >
> >
> >On Sun, Jul 9, 2017 at 11:21 AM, Thomas Adams <tea3rd at gmail.com> wrote:
> >
> >> Hi all,
> >>
> >> I can not seem to get what I want using the Lattice package to
> >generate an
> >> array of histograms of
> >> spatialgrid dataframe data.
> >>
> >> I can use the sp package and spplot to generate an array of maps that
> >> display an array of spatialgrid dataframe data -- that's good. I
> >have:
> >>
> >> spplot(ann_bias,xlim=c(1423987.5,2614612.5),ylim=c(-
> >>
> >5862637.5,-4624387.5),at=brks,col.regions=colp(length(
> brks)-1),main="NOAA/NWS
> >> OHRFC Stage-3/MPE Precipitation Estimate Bias with respect to
> >PRISM\n1997 -
> >> 2016")
> >>
> >> Which works... I can also do histogram(ann_bias$bias1997), which
> >works
> >> too. I have also created a 'time-series' of boxplots successfully
> >with
> >> these data as well...
> >>
> >> But if I try:
> >>
> >> year<-c('1997','1998','1999','2000','2001','2002','2003','
> >> 2004','2005','2006','2007','2008','2009','2010','2011','
> >> 2012','2013','2014','2015','2016')
> >> dat<-c(ann_bias$bias1997,ann_bias$bias1998,ann_bias$
> >> bias1999,ann_bias$bias2000,ann_bias$bias2001,ann_bias$
> >> bias2002,ann_bias$bias2003,ann_bias$bias2004,ann_bias$
> >> bias2005,ann_bias$bias2006,ann_bias$bias2007,ann_bias$
> >> bias2008,ann_bias$bias2009,ann_bias$bias2010,ann_bias$
> >> bias2011,ann_bias$bias2012,ann_bias$bias2013,ann_bias$
> >> bias2014,ann_bias$bias2015,ann_bias$bias2016)
> >>
> >> > data<-data.frame(year=c(year),bias=c(dat))
> >> > histogram(~ bias | year, data=data)
> >>
> >> I get a lattice plot of histograms, where the years vary, but all the
> >> histograms are identical, which I know they should not be. It seem
> >that all
> >> the data from the combined spatialgrid dataframes are being used and
> >> repeated.
> >>
> >> Obviously, I'm not constructing the data correctly. Can someone tell
> >me
> >> what I doing wrong. I've poured over this for a solid day, now...
> >>
> >> Regards,
> >> Tom
> >>
> >>
> >
> >       [[alternative HTML version deleted]]
> >
> >______________________________________________
> >R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> >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.
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list