In this project we use the Palmer Penguins data set and formal statistical inferential framework to answer questions about the practice formal statistical inference.
The project has two parts. In Part 1, we work through four complete
examples together — a hypothesis test and a confidence interval using
prop.test(), followed by a hypothesis test and a confidence
interval using t.test(). In Part 2, you will carry out two
analyses of your own: one involving a proportion and one involving a
mean (or difference in means).
Question: Is the proportion of Chinstrap penguins in the dataset different from one-third (what we would expect if all three species were equally common)?
We count the number of Chinstrap penguins and the total number of penguins with non-missing species data, then run the test.
n_total <- penguins %>% filter(!is.na(species)) %>% nrow()
n_chinstrap <- penguins %>% filter(species == "Chinstrap") %>% nrow()
n_total
## [1] 344
n_chinstrap
## [1] 68
Our Null Hypothesis is that p = 1/3 (Chinstrap penguins make up
one-third of the population)
Our Alternative Hypothesis is that p =/= 1/3 (two-sided)
prop.test(x = n_chinstrap, n = n_total, p = 1/3,
alternative = "two.sided", correct = FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: n_chinstrap out of n_total, null probability 1/3
## X-squared = 28.488, df = 1, p-value = 9.426e-08
## alternative hypothesis: true p is not equal to 0.3333333
## 95 percent confidence interval:
## 0.1590290 0.2429974
## sample estimates:
## p
## 0.1976744
The p-value is very small (well below 0.05), so we reject the null hypothesis. There is strong evidence that Chinstrap penguins do not make up one-third of the population sampled in this data set — they appear to be underrepresented relative to the other two species.
Question: What is a plausible range for the true proportion of Chinstrap penguins in the population?
prop.test(x = n_chinstrap, n = n_total, conf.level = 0.95, correct = FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: n_chinstrap out of n_total, null probability 0.5
## X-squared = 125.77, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.1590290 0.2429974
## sample estimates:
## p
## 0.1976744
We are 95% confident that the true proportion of Chinstrap penguins is between roughly 0.1590290 and 0.2429974. Because this interval does not include 1/3, it is consistent with the conclusion from Part 1A that the three species are not equally represented.
Question: A field guide published in 2010 reports that the mean flipper length for Chinstrap penguins is 200 mm. Does the Palmer Station sample support this claim?
We isolate the Chinstrap flipper lengths, then check the normality assumption with a histogram before running the test.
chinstrap_flipper <- penguins %>%
filter(species == "Chinstrap", !is.na(flipper_length_mm)) %>%
pull(flipper_length_mm)
length(chinstrap_flipper)
## [1] 68
mean(chinstrap_flipper)
## [1] 195.8235
sd(chinstrap_flipper)
## [1] 7.131894
ggplot(data.frame(flipper = chinstrap_flipper), aes(x = flipper)) +
geom_histogram(binwidth = 3, fill = "steelblue", color = "white") +
labs(title = "Chinstrap Penguin Flipper Length",
x = "Flipper Length (mm)", y = "Count") +
theme_minimal()
The histogram shows no extreme skew or outliers. The normality assumption is reasonable.
Our null hypothesis is that the true population mean is equal to 200 mm. Our alternative hypothesis is that the true population mean is not equal to 200 mm. This is a two-sided alternative.
t.test(chinstrap_flipper, mu = 200, alternative = "two.sided", conf.level = 0.95)
##
## One Sample t-test
##
## data: chinstrap_flipper
## t = -4.829, df = 67, p-value = 8.31e-06
## alternative hypothesis: true mean is not equal to 200
## 95 percent confidence interval:
## 194.0972 197.5498
## sample estimates:
## mean of x
## 195.8235
Question: What is a plausible range for the true mean flipper length of Chinstrap penguins?
t.test(chinstrap_flipper, conf.level = 0.95)
##
## One Sample t-test
##
## data: chinstrap_flipper
## t = 226.42, df = 67, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## 194.0972 197.5498
## sample estimates:
## mean of x
## 195.8235
We are 95% confident that the true mean flipper length for Chinstrap penguins is between approximately 194.1 mm and 197.5 mm. Notice that this interval does not include 200 mm, which is consistent with our conclusion in Part 1C.
Now it is your turn. You will carry out two analyses: one using
prop.test() and one using t.test(). For each
analysis, choose a question from the options below, then follow the
steps shown in Part 1.
Choose one of the following questions to investigate:
State which option you chose: The option I picked was number 3
State your null and alternative hypotheses: Null hypothesis claims that fewer than 30% of all penguins sampled from Biscoe Island, Alternative hypothesis states that either 30% or more penguins are sampled from Biscoe Island. Null p = 0.30 Alt p>0.30
Set up the counts and run the test. Include a clear code chunk:
# Your code here
n_total <- penguins %>%
filter(!is.na(island)) %>%
nrow()
n_biscoe <- penguins %>%
filter(island == "Biscoe") %>%
nrow()
n_total
## [1] 344
n_biscoe
## [1] 168
prop.test(x = n_biscoe, n = n_total, p = 0.30, alternative = "less", correct = FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: n_biscoe out of n_total, null probability 0.3
## X-squared = 58.126, df = 1, p-value = 1
## alternative hypothesis: true p is less than 0.3
## 95 percent confidence interval:
## 0.0000000 0.5326199
## sample estimates:
## p
## 0.4883721
Interpret the output. Your answer should address:
(1) What are x and n in your test? X is the penguins that are from the Biscoe island N is the penguins that are in the complete dataset
(2) What is the p-value, and what does it tell you? (Use alpha = 0.05.) Obtained a p-value of 1 which is higher than the alpha value, meaning we fail to reject the null hypothesis.
(3) Report and interpret the 95% confidence interval from the output.
95% CI: 0.0000000, 0.5326199
Choose one of the following questions to investigate:
I decided to choose option 6
State your null and alternative hypotheses:
Null hypothesis: mass of gentoo and chinstrap penguins are equal Alternative hypothesis: mass of gentoo and chinstrap penguins are NOT equal
Use dplyr to isolate your data, make a histogram to check the normality assumption, and run the test:
chinstrap <- penguins %>%
filter(species == "Chinstrap", !is.na(body_mass_g)) %>%
pull(body_mass_g)
gentoo <- penguins %>%
filter(species == "Gentoo", !is.na(body_mass_g)) %>%
pull(body_mass_g)
mean(chinstrap)
## [1] 3733.088
mean(gentoo)
## [1] 5076.016
penguins_df <- data.frame(
body_mass_g = c(chinstrap, gentoo),
species = c(
rep("Chinstrap", length(chinstrap)),
rep("Gentoo", length(gentoo))
)
)
ggplot(penguins_df, aes(x = body_mass_g, fill = species)) +
geom_histogram(binwidth = 200, color = "lightgreen", alpha = 0.05) +
facet_wrap(~ species, ncol = 1) +
labs(
title = "Distribution of Body Mass by Penguin Species",
x = "Body Mass (g)",
y = "Count"
) +
theme_minimal()
t.test(gentoo,chinstrap, conf.level = 0.95)
##
## Welch Two Sample t-test
##
## data: gentoo and chinstrap
## t = 20.628, df = 170.4, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 1214.416 1471.440
## sample estimates:
## mean of x mean of y
## 5076.016 3733.088
Interpret the output. Your answer should address:
(1) What is the sample mean (or difference in sample means)?
5076.016−3733.088=1342.928 g mean of x - mean of y
(2) What is the t statistic and degrees of freedom?
t statistic: 20.628 Degrees of freedom: 170.4
(3) What is the p-value, and what is your decision at alpha = 0.05?
p = 2.2e-16 p<0.05 = reject Null hypothesis
(4) Report and interpret the 95% confidence interval. Does it contain 0 (for a two-sample test) or your null value (for a one-sample test)? Is this consistent with your decision in (3)?
95% CI for the difference in means: (1214.416,1471.440)
We are 95% confident that the true difference in mean body mass (Gentoo − Chinstrap) is between 1214 g and 1471 g.
The interval does not include 0 and it matches with the desiscion in question 3 to reject the null hypothesis