Term Project Description
My project builds upon the study referenced below. I have proposed a
potential follow-up experiment to extend the study’s findings. The
project utilizes simulated data, structured and analyzed as if collected
from a real experiment. While the outcomes do not provide scientific
evidence, they showcase my skills in formulating and addressing relevant
biological questions through statistics, experimental design, and
programming.
Article citation:
Buijze, G. A., Sierevelt, I. N., van der Heijden, B. C. J. M.,
Dijkgraaf, M. G., & Frings-Dresen, M. H. W. (2016). The effect of
cold showering on health and work: A randomized controlled trial. PLOS
ONE, 11(9), e0161749. https://doi.org/10.1371/journal.pone.0161749
Brief statement on the findings from the original article that led
to my followup experiment:
Cold exposure is proposed as a simple intervention to enhance healthy
and productivity. The study “The Effect of Cold Showering on Health and
Work: A Randomized Controlled Trial” explores the effects of cold
showers on health outcomes and work absences in a sample of over 3,000
healthy adults. Participants were told to end their daily showers with
varying periods of cold water exposure–30, 60, or 90 seconds–while a
control group continued with regular hot showers. The researchers
focused on the reduction in sickness absence from work and the total
number of sick days reported by participants over a 90 day period,
finding that cold showering reduced sick days by 29%, with no large
discrepancy between cold exposure groups, suggesting that cold showers
may improve resilience to minor illness, enabling individuals to
continue working when unwell, but does not significantly indicate that
cold exposure improves overall health.
The Question
Does shower type (warm, cold for 30 seconds at the end, or cold for
60 seconds at the end) influence WBC increase?
Disclaimer: This project analyzes simulated data. The questions and
hypotheses are real, but the results and conclusions are not.
Rationale and Background:
Research has suggested for years that cold exposure can bolster the
immune system, acting as a form of physical exercise that improves
overall fitness (Brenner et al., 1999) and increases metabolic rate and
health. Another avenue of research is that cold showers activate brown
fat, which is associated with improved metabolic health (Nedergaard et
al., 2007). Unlike white fat, which stores energy, brown fat burns
calories to produce heat, which may help regulate body temperature and
improve weight management. Increased brown fat activity is linked to
many long-term benefits for metabolic health and disease prevention. The
activation of brown fat through cold exposure suggests that cold showers
could influence not only immune health but also overall health and
energy balance.
Additionally, psychological factors, such as the placebo effect, may
contribute to the reported immune benefits (Smits et al., 2018), with
individuals feeling healthier simply because they believe in the
therapeutic effects of cold showers. The mental resilience developed
through regular cold exposure may also play a role, as it forces
individuals to tolerate discomfort and stress, potentially improving
emotional regulation and overall well-being. Despite many promising
results, studies in this area often rely heavily on self-reported data,
which introduces potential bias and limits the strength of the
conclusions. Further research using objective biomarkers and more
rigorous study designs would help validate these findings and clarify
the underlying mechanisms.
This background motivates the research question of whether different
types of showers, such as cold showers of varying durations, can
influence immune function, specifically the increase in white blood cell
(WBC) count as an objective biomarker, which is generally associated
with strong immune function (Zhu et al., 2021). By exploring how various
shower types impact WBC levels, this research seeks to analyze the
physiological effects of cold exposure, with the potential to broaden
our understanding of how lifestyle changes can promote health and
productivity. This study also provides a foundation for further
exploration into simple, cost-effective health interventions that could
benefit individuals in everyday settings.
Hypotheses
A Statistical Null Hypothesis:
There is no significant difference in percentage increase of white
blood cells (WBC) between three different shower types (Warm, cold for
30 seconds, and cold for 60 seconds).
A Statistical Alternative Hypothesis:
There is a significant difference in percentage increase of white
blood cells (WBC) between three different shower types (Warm, cold for
30 seconds, and cold for 60 seconds).
Experimental Design
90 participants are randomly assigned to one of three shower
conditions: warm, cold for 30 seconds at the end, or cold for 60 seconds
at the end. Random assignment to groups reduces selection bias and
ensures that participants are distributed evenly across the groups.
These participants are also selected from a random sample, with 30
participants per group that are randomly selected from a population of
San Diego. The warm shower serves as a positive control group,
representing the expected physiological response without the influence
of cold exposure, while the cold shower groups are experimental groups,
testing whether cold stress increases WBC relative to the warm shower
baseline. Blinding was not applicable in this experiment due to
participants being able to physically feel the difference between a hot
and cold shower, as well as due to the fact that participants must
implement the shower types themselves. This introduces the possibility
of expectancy effects, where participants’ awareness of the treatment
could influence their physiological response
Variables:
First Variable
Shower Type (Warm, Cold for 30s, Cold for 60s)
Second Variable
Percentage Increase of WBC
Sample size justification:
A total sample size of 90, with 30 participants per group, maintains
statistical power, since n>25. This normality assumption makes later
statistical tests more fitting. It is also reasonable to recruit 90
participants, as any more may be tedious, with self reporting/discipline
required from each participant.
Data Analysis Plan
ANOVA (Analysis of Variance)
The ANOVA test is appropriate because there are three independent
groups in my study (warm, cold 30, and cold 60) and we are trying to see
if there is a significant difference between WBC increase of those who
take warm vs. cold showers. ANOVA tests if there is a statistically
significant difference between the means of these categories with
continuous measured values. Regression and correlation measure two
continuous variables, which is not suitable for this study. T-tests work
best with one or two sample groups, so they would also not be
suitable.
Assumptions and Exploratory Data Analysis (EDA)
Data points/observations must be independent of one another. Residual
data is roughly normally distributed. The variance within each group
should be about equal (assumption of homoscedasticity).
#USE THIS BLOCK TO INPUT NECESSARY CODE.
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
ShowerData <- read.csv("cic010.csv")
TidyShowerData <- ShowerData |>
pivot_longer(cols = c(cold60, warm, cold30),
names_to = "ShowerType",
values_to = "PercentageIncreaseWBC")
model1 <- lm(PercentageIncreaseWBC ~ ShowerType, data = TidyShowerData)
TidyShowerData$residuals <- model1$residuals
Histogram1 <- ggplot(TidyShowerData, aes(x = residuals)) +
geom_histogram(bins = 30) +
theme_bw() +
ggtitle("Histogram of Residuals")
Histogram1

ks.test_result <- ks.test(model1$residuals, y = function(x) pnorm(x, mean(model1$residuals), sd(model1$residuals)))
#(ChatGPT, March 16, 2025) I used Chat GPT on the above line because I was having trouble debugging why it did not allow y='pnorm' as usually used. Chat GPT gave me this suggestion and it worked and made sense as the function is defining a distribution that the ks.test is referencing, which usually is implicit in code.
ks.test_result
##
## Exact one-sample Kolmogorov-Smirnov test
##
## data: model1$residuals
## D = 0.072695, p-value = 0.7007
## alternative hypothesis: two-sided
#checking for outliers
cooks_distance <- cooks.distance(model1)
max_cooks <- max(cooks_distance)
max_index <- which.max(cooks_distance)
plot(cooks_distance, type = "h", main = "Cook's Distance", xlab = "Observation Index", ylab = "Cook's Distance")

#outlier identified
FixedTidyShower<- TidyShowerData[-23,]
head(FixedTidyShower)
model2<-lm(PercentageIncreaseWBC ~ ShowerType, data = FixedTidyShower)
Histogram2 <- ggplot(FixedTidyShower, aes(x = residuals)) +
geom_histogram(bins=30) +
theme_bw() +
ggtitle("Histogram of Residuals, Excluding Outlier")
Histogram2

ks.test_result<- ks.test(x=model2$residuals, y="pnorm",mean(model2$residuals), sd(model2$residuals))
ks.test_result
##
## Exact one-sample Kolmogorov-Smirnov test
##
## data: model2$residuals
## D = 0.075523, p-value = 0.6621
## alternative hypothesis: two-sided
#(ChatGPT, March 16, 2025)
#I used generative AI here to troubleshoot when I attempted to log transform my data and it wasn't working (I kept receiving error messages). It helped me find that I needed to filter out negative values for log, which I had forgotten about. It is because of this filtering that I chose not to log transform my data, as the filtering would heavily influence my data.
Interpretation of EDA:
I first examined the residuals from the linear model of the data to
assess whether it fulfilled the requirements for ANOVA testing. The
histogram of residuals showed that the data was not perfectly normal,
but it was relatively symmetrical and not visually skewed enough to
claim a skew in one direction. No data transformation was performed–I
previously tried to log transform the data, but since the original
residual plot was already very close to symmetrical, it only skewed the
data more to the other side (left skew), unless I filtered out negative
values. Since a log transformation required that I filter out any
y-values less than 0, I was hesitant since it would misrepresent my data
enormously. I decided not to perform a log transformation because it
would retain a problematic and influential outlier point, while
misrepresenting my data. Moreover, a log-transformed model resulted in a
lower p-value when K.S. tested, meaning it did not improve
normality.
After checking for outliers using Cook’s distance function, I
identified that one point had a very high value (observation 23),
indicating that it had a large influence on the model. I decided to
remove this observation from the data set so the analysis was not
disproportionately affected by it; also, since observation 23 was a high
percentage increase of WBC in the warm shower group, it was particularly
beneficial to remove it as it is an outlier in the control group of warm
shower participants.
After excluding the outlier, I created a new histogram that showed
that the residuals became slightly more centered, while the overall
normality of the distribution decreased (lower p-value). This was
expected as removing an outlier changes the mean/variance of the data,
affecting the residuals. Removing the outlier was justified because it
helped more accurately reflect the underlying trends in the data and
avoided misrepresenting the control group.
Primary Statistical Analysis
#USE THIS BLOCK TO INPUT NECESSARY CODE.
aov(model2)
## Call:
## aov(formula = model2)
##
## Terms:
## ShowerType Residuals
## Sum of Squares 2302.22 55005.23
## Deg. of Freedom 2 86
##
## Residual standard error: 25.29023
## Estimated effects may be unbalanced
TukeyHSD(aov(TidyShowerData$PercentageIncreaseWBC ~ TidyShowerData$ShowerType))
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = TidyShowerData$PercentageIncreaseWBC ~ TidyShowerData$ShowerType)
##
## $`TidyShowerData$ShowerType`
## diff lwr upr p adj
## cold60-cold30 7.812567 -8.77799 24.403124 0.5026684
## warm-cold30 -1.451165 -18.04172 15.139392 0.9763106
## warm-cold60 -9.263732 -25.85429 7.326825 0.3817361
Data Visualization
#USE THIS BLOCK TO INPUT NECESSARY CODE.
plot1 <- ggplot(FixedTidyShower, aes(x = ShowerType, y = PercentageIncreaseWBC)) +
geom_boxplot(aes(fill = ShowerType)) +
scale_fill_manual(values = c("lightblue", "lightgreen", "gold")) +
stat_summary(fun = mean, geom = "point", pch = 18, size = 3, col = "white") +
labs(title = "Percentage Increase in WBC vs. Shower Type",
x = "Shower Type",
y = "Percentage Increase in WBC") +
annotate("text", x = 1, y = 90, label = "A", size = 6, fontface = "bold") +
annotate("text", x = 2, y = 90, label = "A", size = 6, fontface = "bold") +
annotate("text", x = 3, y = 50, label = "A", size = 6, fontface = "bold") +
scale_x_discrete(labels = c("cold30" = "Cold (30s)",
"cold60" = "Cold (60s)",
"warm" = "Warm")) +
theme_bw()+
theme(legend.position = "none")
plot1

Conclusions
The data reveals that differing shower types (warm, cold for 30
seconds at the end, and cold for 60 seconds at the end), do not show
statistically significant differences in percentage increase of white
blood cells. The Analysis of Variance Test and post-hoc tests revealed
that there was not a statistically significant difference between the
means of each test and control group. The p-values between groups were
each significantly larger than 0.05, the commonly accepted significance
level, hence there is no significant variation in the effect of the
three types of showers on WBC levels. These statistical tests revealed
that variation between the means of groups is highly due to chance.
Despite the fact that there is no significant variation, it must be
noted that there are several other factors to be considered while
interpreting these findings. The sample number could have limited the
power of the study to detect small effect sizes. Alternatively,
biological variations between individuals, potential measurement
inaccuracy in WBC counts, or unmeasured variables such as diet, sleep,
or exercise could have confounded results and led to no detectable
differences, even though there may actually be a relationship between
cold exposure in showers and immune health.
While no significant difference was found, this does not necessarily
mean that cold showers do not influence immune function in some way.
Perhaps under a larger sample size or greater control, even a small
effect might be noticeable.
I am quite certain of my results, since my p-values were
significantly greater than 0.05, signifying high probability of
variation due to random chance only, but understand that limitations of
sample size and confounding factors may have contributed to less than
accurate results, and suggest that the study be replicated with a larger
sample size. Firstly, the study fails to control for variables like
participants’ initial state of health, age, or immune system strength.
These variables may change how one’s body reacts to cold temperatures;
not controlling for them makes it difficult to generalize my study’s
findings.
If there were no restrictions on the experimental design, one
improvement would be to have a larger group of participants to account
for different baseline health conditions and demographic factors. In
addition, expanding the study to include objective measures of immune
function, such as the presence of other specific immune markers, would
provide a more comprehensive understanding of how cold showers impact
the immune system. Additionally, incorporating physiological
measurements (such as skin temperature or heart rate variability) and
psychological assessments (to gauge perceived health and well-being)
could offer a more complete picture of the effects of cold exposure on
the body and mind (from a mental health angle). Another potential
improvement would be to use a longer duration of intervention or
repeated exposure to cold showers to see if cumulative effects might
emerge over time. Finally, a more detailed examination of the
psychological factors at play (e.g., the placebo effect) would help
illuminate whether participants’ beliefs about the therapeutic potential
of cold showers played a part in any benefits, regardless of the
physiological data.
Citations
Brenner, M., Castellani, J. W., Gabaree, C., Young, A. J., Zamecnik,
J., Shephard, R. J., & Shek, P. N. (1999). Immune changes in humans
during cold exposure: effects of prior heating and exercise. Journal of
Applied Physiology, 87(2), 699–710. https://doi.org/10.1152/jappl.1999.87.2.699
Buijze, G. A., Sierevelt, I. N., van der Heijden, B. C. J. M.,
Dijkgraaf, M. G., & Frings-Dresen, M. H. W. (2016). The effect of
cold showering on health and work: A randomized controlled trial. PLOS
ONE, 11(9), e0161749. https://doi.org/10.1371/journal.pone.0161749
ChatGPT. (2025, March 16). Personal communication. OpenAI.
Nedergaard, J., Bengtsson, T., & Cannon, B. (2007). Unexpected
evidence for active brown adipose tissue in adult humans. American
journal of physiology. Endocrinology and metabolism, 293(2), E444–E452.
https://doi.org/10.1152/ajpendo.00691.2006
Smits, R. M., Veldhuijzen, D. S., Wulffraat, N. M., & Evers, A.
W. M. (2018). The role of placebo effects in immune-related conditions:
mechanisms and clinical considerations. Expert Review of Clinical
Immunology, 14(9), 761–770. https://doi.org/10.1080/1744666X.2018.1516144
Zhu, B., Feng, X., Jiang, C., Mi, S., Yang, L., Zhao, Z., Zhang, Y.,
& Zhang, L. (2021). Correlation between white blood cell count at
admission and mortality in COVID-19 patients: a retrospective study. BMC
Infectious Diseases, 21(1). https://doi.org/10.1186/s12879-021-06277-3