I want to write a basic function like this:
basicStat<-function(recentdata, interestvar="inventory ", groupvar="indoor_size_cat", interestindvar="indoor_size" ){
interestvar<-enquo(interestvar)
groupvar<-enquo(groupvar)
interestindvar<-enquo(interestindvar)
statRecent<-data %>%
group_by(!!groupvar) %>%
summarise(q3=quantile(interestVar, probs=0.75, type=1),
q1=quantile(!!as.symbol(interestVar), probs=0.25, type=1),
sd=sd(!!as.symbol(interestVar)),
mu=mean(!!as.symbol(interestVar))) %>%
mutate(iqr=(q3-q1), lowerbound=max(0,q1 -1.5*iqr) , upperbound=q3 +1.5*iqr,
cv=sd/mu) %>%
select( !!as.symbol(groupvar), lowerbound, upperbound, cv, sd, mu)
return(statRecent)
}
it give me errors:
Error in UseMethod("group_by_") : no applicable method for 'group_by_' applied to an object of class "function".
How can I fix it? thanks
r