Hi, Try this:a<-c(4,5,23,34,43,54,56,65,67,324,435,453,456,567,657) a1<-melt(table(cut(a,breaks=c(0,10,20,30,60,120,240,480,960)))) a2<-data.frame(sapply(a1,function(x) gsub("\\(|\\]","",gsub("\\,","-",x)))) colnames(a2)<-c("numbers","Freq") a2 # numbers Freq #1 0-10 2 #2 10-20 0 #3 20-30 1 #4 30-60 4 #5 60-120 2 #6 120-240 0 #7 240-480 4 #8 480-960 2
#You can also get the same result by: a1<-as.data.frame(table(cut(a,breaks=c(0,10,20,30,60,120,240,480,960),labels=c("0-10","10-20","20-30","30-60","60-120","120-240","240-480","480-960"))) ) colnames(a1)<-c("numbers","Freq") a1 A.K. ----- Original Message ----- From: Chintanu <chint...@gmail.com> To: r-help@r-project.org Cc: Sent: Thursday, July 26, 2012 9:22 PM Subject: [R] Counting frequency within each range Hi, This is a simple problem, but for the life of me I cannot find the answer. How to determine frequency within given ranges ? I know that table() gives frequency, for example a <- table(numbers) > a numbers 4 5 23 34 43 54 56 65 67 324 435 453 456 567 657 2 1 2 2 1 1 2 1 2 1 3 1 1 1 1 > as.data.frame(table(numbers)) numbers Freq 1 4 2 2 5 1 3 23 2 4 34 2 ... However, there must be some simple way to get the frequency based on ranges, such as 0-10, 10-20, 20-30 and so on. Please help ! Thank you. Cheers, Chintanu [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list 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. ______________________________________________ R-help@r-project.org mailing list 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.