In August of 2012, news outlets ranging from the Washington Post to the Huffington Post ran a story about the rise of atheism in America. The source for the story was a poll that asked people, “Irrespective of whether you attend a place of worship or not, would you say you are a religious person, not a religious person or a convinced atheist?” This type of question, which asks people to classify themselves in one way or another, is common in polling and generates categorical data. In this lab we take a look at the atheism survey and explore what’s at play when making inference about population proportions using categorical data.
To access the press release for the poll, conducted by WIN-Gallup International, click on the following link:
Take a moment to review the report then address the following questions.
These are sample statistics, as it is obviously not possible to get survey data from the entire population of interest (the whole world, so over 7 billion people).
We must assume that the sample is a representative sample, in that it has similar characteristics (like proportion of people from different income and education groups or proportions of people from different countries) to the global human population. Where proportions are different (like if the sample had a lot fewer poor people proportionally than the world does), we would need to take this into account when figuring out to what extent we can generalize our findings.
It seems to be a reasonable assumption here to assume that the sample is fairly representative. While not perfectly representative (there are more than 57 countries in the world), the countries included are from all different regions of the world. They also seem to have taken care to avoid sampling methods that might bias the sample toward certain groups of people. For example, including face-to-face sampling reduces the chance that you sample fewer lower-income people who might not have a phone.
Turn your attention to Table 6 (pages 15 and 16), which reports the sample size and response percentages for all 57 countries. While this is a useful format to summarize the data, we will base our analysis on the original data set of individual responses to the survey. Load this data set into R with the following command.
load("more/atheism.RData")atheism correspond to?Each row of Table 6 corresponds to the percentage of people surveyed in each country who identify as religious, non-religious, atheist, or unknown.
Each row of “atheism” correspond to one survey response (case), saying what country the person is from and whether or not they identify as an atheist.
To investigate the link between these two ways of organizing this data, take a look at the estimated proportion of atheists in the United States. Towards the bottom of Table 6, we see that this is 5%. We should be able to come to the same number using the atheism data.
us12 that contains only the rows in atheism associated with respondents to the 2012 survey from the United States. Next, calculate the proportion of atheist responses. Does it agree with the percentage in Table 6? If not, why?us12 <- subset(atheism, nationality == "United States" & year == "2012")table(us12$response)/nrow(us12)*100##
## atheist non-atheist
## 4.99002 95.00998
Yes, we find from “atheism” that 5% of United States residents surveyed in 2012 identify as atheist. This is identical to the value in Table 6. Then all other responses (whether “religious”, “non-religious”, or “unknown”) fall into “non-atheist” category, so the 95% figure we find for non-atheist also makes sense.
As was hinted at in Exercise 1, Table 6 provides statistics, that is, calculations made from the sample of 51,927 people. What we’d like, though, is insight into the population parameters. You answer the question, “What proportion of people in your sample reported being atheists?” with a statistic; while the question “What proportion of people on earth would report being atheists” is answered with an estimate of the parameter.
The inferential tools for estimating population proportion are analogous to those used for means in the last chapter: the confidence interval and the hypothesis test.
table(us12$response)##
## atheist non-atheist
## 50 952
In order to make inferences using proportional data with two proportions, there must be at least 10 cases each of “successes” and “failures”.
Here the less frequent category still has 50 cases, so we definitely meet this condition.
The other condition for inference is that the sample observations are independent. One rule we use for this is that if the sample represents less than 10% of the population, it is reasonable to assume that the sample observations are independent. The ~1,000 people in this survey definitely represent less than 10% of the whole population of the United States, so we also meet this condition easily here.
If the conditions for inference are reasonable, we can either calculate the standard error and construct the interval by hand, or allow the inference function to do it for us.
inference(us12$response, est = "proportion", type = "ci", method = "theoretical",
success = "atheist")## Single proportion -- success: atheist
## Summary statistics:
## p_hat = 0.0499 ; n = 1002
## Check conditions: number of successes = 50 ; number of failures = 952
## Standard error = 0.0069
## 95 % Confidence interval = ( 0.0364 , 0.0634 )
Note that since the goal is to construct an interval estimate for a proportion, it’s necessary to specify what constitutes a “success”, which here is a response of "atheist".
Although formal confidence intervals and hypothesis tests don’t show up in the report, suggestions of inference appear at the bottom of page 7: “In general, the error margin for surveys of this kind is \(\pm\) 3-5% at 95% confidence”.
(.0634 - .0364)*100/2## [1] 1.35
The margin of error is +/- 1.35%.
inference function, calculate confidence intervals for the proportion of atheists in 2012 in two other countries of your choice, and report the associated margins of error. Be sure to note whether the conditions for inference are met. It may be helpful to create new data sets for each of the two countries first, and then use these data sets in the inference function to construct the confidence intervals.First, use sample function to pick two countries, after look for countries that had at least 10 atheists to meet conditions for inference.
set.seed(1392)
atheism_2012 <- atheism[atheism$year == 2012,]
library(dplyr)##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
count_atheists_and_not_per_country <- atheism_2012 %>% group_by(nationality) %>% count(response)
count_atheists_and_not_per_country <- data.frame(count_atheists_and_not_per_country)
countries_for_confidence_intervals <- sample(as.vector(count_atheists_and_not_per_country[count_atheists_and_not_per_country$response == "atheist" & count_atheists_and_not_per_country$n >= 10,"nationality"]),2)
countries_for_confidence_intervals## [1] "Peru" "Russian Federation"
table(atheism_2012[atheism_2012$nationality == countries_for_confidence_intervals[1],"response"])/length(atheism_2012[atheism_2012$nationality == countries_for_confidence_intervals[1],"response"])##
## atheist non-atheist
## 0.02982601 0.97017399
table(atheism_2012[atheism_2012$nationality == countries_for_confidence_intervals[2],"response"])/length(atheism_2012[atheism_2012$nationality == countries_for_confidence_intervals[2],"response"])##
## atheist non-atheist
## 0.06 0.94
inference(atheism_2012[atheism_2012$nationality == countries_for_confidence_intervals[1],"response"], est = "proportion", type = "ci", method = "theoretical", success = "atheist")## Single proportion -- success: atheist
## Summary statistics:
## p_hat = 0.0298 ; n = 1207
## Check conditions: number of successes = 36 ; number of failures = 1171
## Standard error = 0.0049
## 95 % Confidence interval = ( 0.0202 , 0.0394 )
inference(atheism_2012[atheism_2012$nationality == countries_for_confidence_intervals[2],"response"], est = "proportion", type = "ci", method = "theoretical", success = "atheist")## Single proportion -- success: atheist
## Summary statistics:
## p_hat = 0.06 ; n = 1000
## Check conditions: number of successes = 60 ; number of failures = 940
## Standard error = 0.0075
## 95 % Confidence interval = ( 0.0453 , 0.0747 )
(.0394 - .0202)*100/2## [1] 0.96
(0.0747 - 0.0453)*100/2## [1] 1.47
In Peru, around 3% (2.98% more precisely) of people identify as atheists. We find a margin of error around this measurement of +/- 0.96%.
In the Russian Federation, around 6% of people identify as atheists. We find a margin of error around this measurement of +/- 1.47%.
Imagine you’ve set out to survey 1000 people on two questions: are you female? and are you left-handed? Since both of these sample proportions were calculated from the same sample size, they should have the same margin of error, right? Wrong! While the margin of error does change with sample size, it is also affected by the proportion.
Think back to the formula for the standard error: \(SE = \sqrt{p(1-p)/n}\). This is then used in the formula for the margin of error for a 95% confidence interval: \(ME = 1.96\times SE = 1.96\times\sqrt{p(1-p)/n}\). Since the population proportion \(p\) is in this \(ME\) formula, it should make sense that the margin of error is in some way dependent on the population proportion. We can visualize this relationship by creating a plot of \(ME\) vs. \(p\).
The first step is to make a vector p that is a sequence from 0 to 1 with each number separated by 0.01. We can then create a vector of the margin of error (me) associated with each of these values of p using the familiar approximate formula (\(ME = 2 \times SE\)). Lastly, we plot the two vectors against each other to reveal their relationship.
n <- 1000
p <- seq(0, 1, 0.01)
me <- 2 * sqrt(p * (1 - p)/n)
plot(me ~ p, ylab = "Margin of Error", xlab = "Population Proportion")p and me.The margin of error is highest when the population proportion is 50%. It decreases as you go further away from 50% on either side, so as you approach 0% or 100%.
The textbook emphasizes that you must always check conditions before making inference. For inference on proportions, the sample proportion can be assumed to be nearly normal if it is based upon a random sample of independent observations and if both \(np \geq 10\) and \(n(1 - p) \geq 10\). This rule of thumb is easy enough to follow, but it makes one wonder: what’s so special about the number 10?
The short answer is: nothing. You could argue that we would be fine with 9 or that we really should be using 11. What is the “best” value for such a rule of thumb is, at least to some degree, arbitrary. However, when \(np\) and \(n(1-p)\) reaches 10 the sampling distribution is sufficiently normal to use confidence intervals and hypothesis tests that are based on that approximation.
We can investigate the interplay between \(n\) and \(p\) and the shape of the sampling distribution by using simulations. To start off, we simulate the process of drawing 5000 samples of size 1040 from a population with a true atheist proportion of 0.1. For each of the 5000 samples we compute \(\hat{p}\) and then plot a histogram to visualize their distribution.
p <- 0.1
n <- 1040
p_hats <- rep(0, 5000)
for(i in 1:5000){
samp <- sample(c("atheist", "non_atheist"), n, replace = TRUE, prob = c(p, 1-p))
p_hats[i] <- sum(samp == "atheist")/n
}
hist(p_hats, main = "p = 0.1, n = 1040", xlim = c(0, 0.18))These commands build up the sampling distribution of \(\hat{p}\) using the familiar for loop. You can read the sampling procedure for the first line of code inside the for loop as, “take a sample of size \(n\) with replacement from the choices of atheist and non-atheist with probabilities \(p\) and \(1 - p\), respectively.” The second line in the loop says, “calculate the proportion of atheists in this sample and record this value.” The loop allows us to repeat this process 5,000 times to build a good representation of the sampling distribution.
mean to calculate summary statistics.mean(p_hats)## [1] 0.09994288
sd(p_hats)## [1] 0.009269274
sqrt((0.1*0.9)/1040)## [1] 0.009302605
The mean of the sampling distribution of sample proportions is a perfect 0.1 theoretically, and very very close to that here.
The sampling distribution is normally distributed.
The standard deviation of the sampling distribution is very very close to what we would expect given the formula for standard error around a distribution of sample proportions (sqrt((p*(1 - p))/n).
par(mfrow = c(2, 2)) command before creating the histograms. You may need to expand the plot window to accommodate the larger two-by-two plot. Describe the three new sampling distributions. Based on these limited plots, how does \(n\) appear to affect the distribution of \(\hat{p}\)? How does \(p\) affect the sampling distribution?#p <- 0.1
#n <- 1040
#p_hats <- rep(0, 5000)
#for(i in 1:5000){
# samp <- sample(c("atheist", "non_atheist"), n, replace = TRUE, prob = c(p, 1-p))
# p_hats[i] <- sum(samp == "atheist")/n
#}
#hist(p_hats, main = "p = 0.1, n = 1040", xlim = c(0, 0.18))
simulate_sample_proportions <- function(p,n){
p_hats_simulated <- rep(0,times=5000)
for(i in 1:5000){
samp <- sample(c("atheist", "non_atheist"), n, replace = TRUE, prob = c(p, 1-p))
p_hats_simulated[i] <- sum(samp == "atheist")/n
}
return(p_hats_simulated)
}
p_hats_high_n_low_p <- p_hats
p_hats_high_n_high_p <- simulate_sample_proportions(0.2,1040)
p_hats_low_n_low_p <- simulate_sample_proportions(0.1,400)
p_hats_low_n_high_p <- simulate_sample_proportions(0.2,400)
p_hats_for_ggplot2 <- data.frame(Sample.proportion = c( p_hats_high_n_low_p,p_hats_high_n_high_p,p_hats_low_n_low_p,p_hats_low_n_high_p),
Sample.size.and.p = rep(c("p = 0.1, n = 1040","p = 0.2, n = 1040","p = 0.1, n= 400","p = 0.2, n= 400"),each=5000),
stringsAsFactors=FALSE)
library(ggplot2)##
## Attaching package: 'ggplot2'
## The following object is masked from 'package:openintro':
##
## diamonds
ggplot(p_hats_for_ggplot2,
aes(Sample.proportion)) +
geom_histogram(binwidth=.005) +
facet_wrap(~Sample.size.and.p)aggregate(Sample.proportion ~ Sample.size.and.p,FUN=sd,data=p_hats_for_ggplot2)## Sample.size.and.p Sample.proportion
## 1 p = 0.1, n = 1040 0.009269274
## 2 p = 0.1, n= 400 0.015224934
## 3 p = 0.2, n = 1040 0.012384967
## 4 p = 0.2, n= 400 0.019826583
A lower n results in more spread in the sampling distribution, as does a higher p.
Once you’re done, you can reset the layout of the plotting window by using the command par(mfrow = c(1, 1)) command or clicking on “Clear All” above the plotting window (if using RStudio). Note that the latter will get rid of all your previous plots.
Here it would be reasonable to proceed with inference for Australia (around 100 or more atheists in the sample).
For Ecuador, we technically do not meet the conditions for inference (.02*400 gives 8 atheists, less than the 10 minimum we should really have for inference).
We are close enough to 10 that we could maybe still try to proceed with inference, but should at the very least note that we fell short of meeting all conditions for inference.
The question of atheism was asked by WIN-Gallup International in a similar survey that was conducted in 2005. (We assume here that sample sizes have remained the same.) Table 4 on page 13 of the report summarizes survey results from 2005 and 2012 for 39 countries.
Answer the following two questions using the inference function. As always, write out the hypotheses for any tests you conduct and outline the status of the conditions for inference.
a. Is there convincing evidence that Spain has seen a change in its atheism index between 2005 and 2012?
Hint: Create a new data set for respondents from Spain. Form confidence intervals for the true proportion of athiests in both years, and determine whether they overlap.
b. Is there convincing evidence that the United States has seen a change in its atheism index between 2005 and 2012?
To make a 95% confidence interval around the 2005 atheism rates, let’s assume that the sample size is the same (1,146).
Then a rounded rate of 10% could mean either 114 or 115 atheists. Let’s use 115.
inference(atheism_2012[atheism_2012$nationality == "Spain","response"], est = "proportion", type = "ci", method = "theoretical", success = "atheist")## Single proportion -- success: atheist
## Summary statistics:
## p_hat = 0.09 ; n = 1145
## Check conditions: number of successes = 103 ; number of failures = 1042
## Standard error = 0.0085
## 95 % Confidence interval = ( 0.0734 , 0.1065 )
inference(rep(c("atheist","non-atheist"),times=c(115,1146 - 115)), est = "proportion", type = "ci", method = "theoretical", success = "atheist")## Single proportion -- success: atheist
## Summary statistics:
## p_hat = 0.1003 ; n = 1146
## Check conditions: number of successes = 115 ; number of failures = 1031
## Standard error = 0.0089
## 95 % Confidence interval = ( 0.083 , 0.1177 )
The 95% confidence interval for atheism rates in 2012 includes a 10% atheism rate (the rate in 2005).
The 95% confidence interval for atheism rates in 2005 includes a 9% atheism rate (the rate in 2012).
We therefore conclude that the proportion of atheists in Spain has not changed significantly from 2005 to 2012.
inference(atheism_2012[atheism_2012$nationality == "United States","response"], est = "proportion", type = "ci", method = "theoretical", success = "atheist")## Single proportion -- success: atheist
## Summary statistics:
## p_hat = 0.0499 ; n = 1002
## Check conditions: number of successes = 50 ; number of failures = 952
## Standard error = 0.0069
## 95 % Confidence interval = ( 0.0364 , 0.0634 )
inference(rep(c("atheist","non-atheist"),times=c(10,1002 - 10)),est = "proportion", type = "ci", method = "theoretical", success = "atheist")## Single proportion -- success: atheist
## Summary statistics:
## p_hat = 0.01 ; n = 1002
## Check conditions: number of successes = 10 ; number of failures = 992
## Standard error = 0.0031
## 95 % Confidence interval = ( 0.0038 , 0.0161 )
The 95% confidence interval for atheism rates in 2012 has a value above 3% as its lower bound.
The 95% confidence interval for atheism rates in 2005 has a value less than 2% as its upper bound.
Because the value for 2005 is not in the confidence interval for 2012 and vice versa, we conclude that there is convincing evidence that the United States has seen a change in its atheism index between 2005 and 2012.
By definition, a signifance level of 0.05 means that we will commit a type 1 error (have a false positive finding) 5% of the time if the null hypothesis is in fact true.
Use the proportion with the highest possible margin of error (0.5) if we don’t know it at all.
Solve for the equation 1.96 * sqrt((0.5*0.5)/n) = .01
1.96 * sqrt(0.25/n) = .01.
sqrt(0.25/n) = .01/1.96
0.25/n = (.01/1.96)^2
n = 0.25/((.01/1.96)^2)
n = 0.25/((.01/1.96)^2)
n## [1] 9604
We would need to sample 9,604 people to ensure that we are within the guidelines.
This is a product of OpenIntro that is released under a Creative Commons Attribution-ShareAlike 3.0 Unported. This lab was written for OpenIntro by Andrew Bray and Mine Çetinkaya-Rundel.