Data detective work: work out the numerator or denominator given a percentage

Here’s some fun I had today. If you are looking at some published stats and they tell you a percentage but not the numerator & denominator, you can still work them out. That’s to say, you can get your computer to grind through a lot of possible combinations and find which are compatible with the percentage. Usually you have some information about the range in which the numerator or denominator could lie. For example, I was looking at a paper which followed 63 people who had seen a nurse practitioner when they attended hospital, and the paper told me that 18.3% of those who responded had sought further healthcare. But not everyone had answered the question; we weren’t told how many but obviously it was less than or equal to 63. It didn’t take long to knock an R function together to find the compatible numerators given a range of possible denominators and the percentage, and later I did the opposite. Here they are:

 # deducing numerator from percentage and range of possible denominators
whatnum<-function(denoms,target,dp) {
	for (i in 1:(length(denoms))) {
		if(round(lo/d, digits=dp)==target) {
			if(round(hi/d, digits=dp)==target) {
				warning(paste("More than one numerator is compatible with denominator ",d,"; minima are returned",sep=""))
		else if(round(hi/d, digits=dp)==target) nums[i]<-hi
# and the opposite 
whatdenom<-function(nums,target,dp) {
	for (i in 1:(length(nums))) {
		if(round(n/lo, digits=dp)==target) {
			if(round(n/hi, digits=dp)==target) {
				warning(paste("More than one denominator is compatible with numerator ",n,"; minima are returned",sep=""))
		else if(round(n/hi, digits=dp)==target) denoms[i]<-hi

By typing
I could find straight away that the only possibility was 11/60.
That particular paper also had a typo in table 4 ("995.3%") which meant it could be 99.5% or 99.3% or 95.3%. I could run each of those through and establish that it could only possibly have been 95.3%. Handy for those pesky papers that you want to stick in a meta-analysis but are missing the raw numbers!



Filed under R

3 responses to “Data detective work: work out the numerator or denominator given a percentage

  1. Pingback: Data detective work: work out the numerator or denominator given a percentage ← Patient 2 Earn

  2. PN

    which(round(outer(1:63, 1:63, “/”), 3) == .183, arr.ind = TRUE)

    • Evaluates lots of non-starter combinations, takes about 3 times longer to run. You have to bear in mind the longer code is also here because I’m a teacher, so everyone can step through it mentally.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s