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]]
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.
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]]