[R] Interquartile Range

Michael Artz michaeleartz at gmail.com
Tue Apr 19 17:29:01 CEST 2016


Hi bert,

I understand the difference between a character string and a number. I need
to return a character string, that is a requirement.  It needs to be in
that format.  Getting the range with IQR is trivial I already tried it. The
grouping function accepts only one return value,  and IQR returns two.
Thanks for the reply though sir.
On Apr 19, 2016 10:20 AM, "Bert Gunter" <bgunter.4567 at gmail.com> wrote:

> Are you aware that there *already is* a function that does this?
>
> ?IQR
>
> (also your "function" iqr" is just a character string and would have
> to be parsed and evaluated to become a function. But this is a
> TERRIBLE way to do things in R as it completely circumvents R's
> central functional programming paradigm).
>
> Cheers,
> Bert
>
>
> Bert Gunter
>
> "The trouble with having an open mind is that people keep coming along
> and sticking things into it."
> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
>
>
> On Tue, Apr 19, 2016 at 7:56 AM, Michael Artz <michaeleartz at gmail.com>
> wrote:
> > That didn't work Jim!
> >
> > Thanks anyway
> >
> > On Mon, Apr 18, 2016 at 9:02 PM, Jim Lemon <drjimlemon at gmail.com> wrote:
> >
> >> Hi Michael,
> >> At a guess, try this:
> >>
> >> iqr<-function(x) {
> >>
> return(paste(round(quantile(x,0.25),0),round(quantile(x,0.75),0),sep="-")
> >> }
> >>
> >> .col3_Range=iqr(datat$tenure)
> >>
> >> Jim
> >>
> >>
> >>
> >> On Tue, Apr 19, 2016 at 11:15 AM, Michael Artz <michaeleartz at gmail.com>
> >> wrote:
> >> > Hi,
> >> >   I am trying to show an interquartile range while grouping values
> using
> >> > the function ddply().  So my function call now is like
> >> >
> >> > groupedAll <- ddply(data
> >> >                  ,~groupColumn
> >> >                  ,summarise
> >> >                  ,col1_mean=mean(col1)
> >> >                  ,col2_mode=Mode(col2) #Function I wrote for getting
> the
> >> > mode shown below
> >> >
> >> >  ,col3_Range=paste(as.character(round(quantile(datat$tenure,c(.25)))),
> >> > as.character(round(quantile(data$tenure,c(.75)))), sep = "-")
> >> >                  )
> >> >
> >> > #custom Mode function
> >> > Mode <- function(x) {
> >> >   ux <- unique(x)
> >> >   ux[which.max(tabulate(match(x, ux)))]
> >> > }
> >> >
> >> > I am not sre what is going wrong on my interquartile range function,
> it
> >> > works on its own outside of ddply()
> >> >
> >> >         [[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]]
> >
> > ______________________________________________
> > 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