Indhira, You have to assign cnt and new value in the loop if you want it to update in the loop. However, to count the number of values of x > median(x), there are multiple options. You are using a loop where none is needed in R, which has many implicit vector functions that run with relational operators and assignments.
x <- rnorm(10) cnt <- sum(ifelse(x > median(x), 1, 0)) Because TRUE evaluates to 1 and FALSE evaluates to 0, you can also use cnt <- sum(x > median(x)) I cannot help you with the ggplot question directly since you have not provided a definition of the object st_chg_51. Mark R. Mark Sharp, Ph.D. Director of Primate Records Database Southwest National Primate Research Center Texas Biomedical Research Institute P.O. Box 760549 San Antonio, TX 78245-0549 Telephone: (210)258-9476 e-mail: msh...@txbiomed.org > On Oct 20, 2016, at 3:25 AM, Indhira, Anusha > <anusha.indh...@controlsdata.com> wrote: > > Hi, > > I would like to print percentage of points in a group which are greater than > median value in boxplot. I have tried below code but it always prints zero in > the graph. Can you let me know, how to modify code to get desired result? > > > perc.greaterthan.median <- function(x){ > cnt = 0 > for(i in 1:length(x)){ > ifelse(x[i] > median(x),cnt+1,cnt) > } > return(c(y = median(x)*1.7, label = round((cnt/length(x))*100,2))) > } > > ggplot(st_chg_51, aes(x=factor(st_dv), P3))+ #label=rownames(st_chg_51))) + > geom_boxplot(fill = "grey80", colour = "#3366FF") + > stat_summary(fun.data = perc.greaterthan.median, geom = "text", fun.y = > median) + > theme_bw()+theme(axis.text = element_text(angle = 90, hjust = 1)) > > Why does cnt in the function doesn't get incremented in the loop? > > Thanks, > Anusha > > This e-mail (including attachments) contains contents owned by Rolls-Royce > plc and its subsidiaries, affiliated companies or customers and covered by > the laws of England and Wales, Brazil, US, or Canada (federal, state or > provincial). The information is intended to be confidential and may be > legally privileged. If you are not the intended recipient, you are hereby > notified that any retention, dissemination, distribution, interception or > copying of this communication is strictly prohibited and may subject you to > further legal action. Reply to the sender if you received this email by > accident, and then delete the email and any attachments. > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@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. CONFIDENTIALITY NOTICE: This e-mail and any files and/or...{{dropped:10}} ______________________________________________ R-help@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.