Supplement 1 R-code: 
 
#Packages used 
library(readxl) 
library(lubridate) 
library(plyr) 
library(dplyr) 
library(stringr) 
library(doBy) 
library(ggplot2) 
library(tableone) 
library(gamm4) 
library(splines) 
library(lme4) 
library(lmerTest) 
library(mgcv) 
library(itsadug) 
library(effects) 
library(stargazer) 
library(ggpubr) 
library(readr) 
 
#tower_an=database imported from Excel, recoded to be analysed 
#Outcome=speed_km_h (time_m=performance in minutes) 
#Effects= Gender, Age, Stairs, Floors 
#Year is the year of the Event 
 
#dataset for Figure 1 
d3 <- subset(tower_an, !is.na(Gender)) %>%  
  group_by(Year, Gender) %>%  
  summarise(count=n()) %>%  
  mutate(perc=count/sum(count), ratio=count[Gender=="M"]/count[Gender=="F"]) 
 
d3<-as.data.frame(d3) 
 
d3_s<-reshape(d3 
              , v.names=c("count", "perc") 
              , idvar="Year" 
              , timevar = "Gender" 
              , direction="wide") 
 
d3_s$ratio<-d3_s$count.M/d3_s$count.F 
 
#Figure 1 
ggplot(d3) + 
  geom_bar(stat="identity", aes(x=Year, y = count, fill = factor(Gender)), position = "dodge") + 
  geom_line(aes(x = Year, y = ratio*1920, group=1, color = 'ratio'), linetype=3, size=1)+ 
  geom_point(aes(x = Year, y = ratio*1920, group=1, color = 'ratio'), size = 1.5)+ 
  labs(x = "Year", y = "Climbers (N)", fill = "Sex") + 
  scale_y_continuous(expand = c(0,0), breaks=c(0, 500, 1000, 1500, 3000, 5000, 7000), limits=c(0, 7000), sec.axis 
= sec_axis(~./1920))+ 
  scale_x_continuous(breaks=c(2014, 2015, 2016, 2017, 2018, 2019))+ 
  scale_fill_manual(values = c("pink","cadetblue3")) + 
  scale_color_manual('', labels = 'Men to Women ratio', values = 'black') + 
  theme_bw(base_size = 18) 
 
#Table 2 
#Age/Gender groups: mean(SD) 
mean_g<-subset(tower_an, !is.na(Gender) & !is.na(Age)) %>%  
            group_by(Age, Gender) %>%  
            summarise(count=n(), 
                      mean=mean(speed_km_h), 
                      sd=sd(speed_km_h)) %>% 
            mutate(ratio=count[Gender=="M"]/count[Gender=="F"]) 
#t-tests sex groups for each age group 
by(tower_an, tower_an$Age, function(.tower_an) t.test(speed_km_h~Gender, data=.tower_an)) 
#Two-way ANOVA 
summary(aov(lm(speed_km_h~Gender+Age, data=tower_an))) 
 
#Table 3 - height in m (tower height in meters) 
CreateTableOne(vars=c("speed_km_h", "time_m", "height.in.m", "Floors", "Stairs"), strata = "Gender", 
data=tower_an) 
 
#Statistical model: Mixed models: bs=basis splines; Num_name is a number for identify climbers by their names 
- this model takes into 
#account repeated measurements 
fit_g2<-lmer(data=tower_an, speed_km_h ~ Gender*Age*bs(Stairs, 5)+bs(Floors,5)+(1|Num_name)) 
#Supplemental Table 1 
class(fit_g2) <- "lmerMod" 
 
stargazer(fit_g2, type="text", out="rep3.html", star.cutoffs = c(0.05, 0.01, 0.001), keep.stat=c("n"), 
          model.numbers=F, no.space=T, column.labels=c("Speed km/h"), 
          dep.var.labels.include=F) 
 
#database for the fitted values 
ef <- Effect(c("Gender", "Age", "Stairs"), xlevels=list(Stairs=seq(300, 2500, 50)), fit_g2) 
x_22 <- as.data.frame(ef) 
ef <- Effect(c("Floors", "Gender"), xlevels=list(Floors=seq(5, 150, 5)), fit_g2) 
x_22b <- as.data.frame(ef) 
 
#Figure 2 
fig2<-ggplot(subset(tower_an, !is.na(Age)), aes(x=Stairs, y=speed_km_h, color=Gender, linetype=Gender)) +  
  #geom_errorbar(aes(ymin=mean-se, ymax=mean+se), width=.1,position=pd) + 
  geom_line(data=subset(x_22, fit>0 & fit<7), aes(x=Stairs, y=fit, color=Gender, linetype=Gender), size=1.5) + 
  stat_summary(geom = "point", fun.y = mean, size=1)+ 
  labs(x="Stairs", y="Speed (km/h)", color="Sex")+ 
  scale_color_manual(values = c("pink","cadetblue3"), labels=c("F", "M")) + 
  scale_linetype_manual(name = "Sex" 
                        , values=c(1,6) 
                        , labels=c("F","M") 
  ) + 
  facet_wrap(~factor(as.vector(Age), levels = c("<20", "20-29", "30-39", "40-49", "50-59", "60-69", ">69")))+  
  # scale_y_continuous(breaks = c(0.08333333, 0.125, 0.1666667, 0.2083333),labels = c("02:00", "03:00", 
"04:00", "05:00"))+ 
  theme_bw(base_size = 18) 
ggsave("Figure 2.tiff", ggarrange(fig2, legend="bottom"), height=25, width=30, units='cm', compression="lzw", 
dpi=300) 
 
#Figure 3 
fig3<-ggplot(tower_an, aes(x=Floors, y=speed_km_h, color=Gender, linetype=Gender)) +  
  #geom_errorbar(aes(ymin=mean-se, ymax=mean+se), width=.1,position=pd) + 
  geom_line(data=x_22b, aes(x=Floors, y=fit, color=Gender, linetype=Gender), size=1.5) + 
  stat_summary(geom = "point", fun.y = mean)+ 
  labs(x="Floors", y="Speed (km/h)", color="Sex")+ 
  # scale_y_continuous(breaks = c(0.08333333, 0.125, 0.1666667, 0.2083333),labels = c("02:00", "03:00", 
"04:00", "05:00"))+ 
  scale_color_manual(values = c("pink","cadetblue3"), labels=c("F", "M")) + 
  scale_linetype_manual(name = "Sex" 
                        , values=c(1,6) 
                        , labels=c("F","M") 
  ) + 
  theme_bw(base_size = 12) 
ggsave("Figure 3.tiff", ggarrange(fig3, legend="bottom"), height=12, width=15, units='cm', compression="lzw", 
dpi=300) 
 
 
Supplemental 2 Table: 
Predictor 
Speed (km/h) 
Sex (ref F) 
 
M 
0.881 (0.586) 
Age (ref 20-29) 
 
<20 
30-39 
40-49 
50-59 
60-69 
> 69 
-4.579** (1.519) 
1.765** (0.557) 
2.367*** (0.579) 
6.903*** (0.703) 
1.278* (0.610) 
10.368 (6.616) 
Stairs 
 
BS(Stairs, 5)1 
BS(Stairs, 5)2 
BS(Stairs, 5)3 
BS(Stairs, 5)4 
BS(Stairs, 5)5 
1.059 (0.745) 
0.835 (0.491) 
0.859 (0.573) 
0.211 (0.533) 
1.584** (0.559) 
Floors 
 
BS(Floors, 5)1 
BS(Floors, 5)2 
BS(Floors, 5)3 
BS(Floors, 5)4 
BS(Floors, 5)5 
0.033 (0.039) 
-0.053 (0.029) 
-0.285*** (0.028) 
0.587*** (0.046) 
0.258*** (0.051) 
SexM:Age 
 
SexM:Age< 20 
SexM:Age30-39 
SexM:Age40-49 
SexM:Age50-59 
SexM:Age60-69 
SexM:Age> 69 
-0.690 (1.893) 
-1.848** (0.607) 
-1.325* (0.624) 
-5.272*** (0.742) 
-0.706 (0.669) 
-14.030* (6.968) 
Sex M:Stairs 
 
SexM:BS(Floors, 5)1 
SexM:BS(Floors, 5)2 
SexM:BS(Floors, 5)3 
SexM:BS(Floors, 5)4 
SexM:BS(Floors, 5)5 
-0.251 (0.797) 
-1.035 (0.528) 
-0.526 (0.616) 
-0.859 (0.575) 
-0.770 (0.600) 
Age:Stairs 
 
Age< 20:BS(Stairs, 5)1 
Age30-39:BS(Stairs, 5)1 
Age40-49:BS(Stairs, 5)1 
Age50-59:BS(Stairs, 5)1 
Age60-69:BS(Stairs, 5)1 
Age> 69:BS(Stairs, 5)1 
Age< 20:BS(Stairs, 5)2 
Age30-39:BS(Stairs, 5)2 
Age40-49:BS(Stairs, 5)2 
Age50-59:BS(Stairs, 5)2 
Age60-69:BS(Stairs, 5)2 
Age> 69:BS(Stairs, 5)2 
Age< 20:BS(Stairs, 5)3 
6.122** (2.085) 
-2.287** (0.759) 
-3.074*** (0.789) 
-9.022*** (0.960) 
-1.691* (0.848) 
-14.657 (9.294) 
3.869** (1.299) 
-1.625** (0.501) 
-2.259*** (0.521) 
-6.426*** (0.625) 
-1.587** (0.567) 
-9.068 (5.487) 
5.273** (1.733) 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Age30-39:BS(Stairs, 5)3 
Age40-49:BS(Stairs, 5)3 
Age50-59:BS(Stairs, 5)3 
Age60-69:BS(Stairs, 5)3 
Age> 69:BS(Stairs, 5)3 
Age< 20:BS(Stairs, 5)4 
Age30-39:BS(Stairs, 5)4 
Age40-49:BS(Stairs, 5)4 
Age50-59:BS(Stairs, 5)4 
Age60-69:BS(Stairs, 5)4 
Age> 69:BS(Stairs, 5)4 
Age< 20:BS(Stairs, 5)5 
Age30-39:BS(Stairs, 5)5 
Age40-49:BS(Stairs, 5)5 
Age50-59:BS(Stairs, 5)5 
Age60-69:BS(Stairs, 5)5 
Age> 69:BS(Stairs, 5)5 
-1.895** (0.586) 
-2.514*** (0.610) 
-7.274*** (0.769) 
-1.081 (0.712) 
-12.012 (7.743) 
1.982 (1.626) 
-1.652** (0.547) 
-2.319*** (0.570) 
-6.679*** (0.839) 
-2.404 (1.412) 
-5.324 (5.660) 
12.506* (5.426) 
-1.986*** (0.574) 
-2.504*** (0.615) 
-7.358*** (2.217) 
1.751 (4.352) 
-25.605 (22.977) 
Sex M:Age:Stairs 
 
SexM:Age< 20:BS(Stairs, 5)1 
SexM:Age30-39:BS(Stairs, 5)1 
SexM:Age40-49:BS(Stairs, 5)1 
SexM:Age50-59:BS(Stairs, 5)1 
SexM:Age60-69:BS(Stairs, 5)1 
SexM:Age> 69:BS(Stairs, 5)1 
SexM:Age< 20:BS(Stairs, 5)2 
SexM:Age30-39:BS(Stairs, 5)2 
SexM:Age40-49:BS(Stairs, 5)2 
SexM:Age50-59:BS(Stairs, 5)2 
SexM:Age60-69:BS(Stairs, 5)2 
SexM:Age> 69:BS(Stairs, 5)2 
SexM:Age< 20:BS(Stairs, 5)3 
SexM:Age30-39:BS(Stairs, 5)3 
SexM:Age40-49:BS(Stairs, 5)3 
SexM:Age50-59:BS(Stairs, 5)3 
SexM:Age60-69:BS(Stairs, 5)3 
SexM:Age> 69:BS(Stairs, 5)3 
SexM:Age< 20:BS(Stairs, 5)4 
SexM:Age30-39:BS(Stairs, 5)4 
SexM:Age40-49:BS(Stairs, 5)4 
SexM:Age50-59:BS(Stairs, 5)4 
SexM:Age60-69:BS(Stairs, 5)4 
SexM:Age> 69:BS(Stairs, 5)4 
SexM:Age< 20:BS(Stairs, 5)5 
SexM:Age30-39:BS(Stairs, 5)5 
SexM:Age40-49:BS(Stairs, 5)5 
SexM:Age50-59:BS(Stairs, 5)5 
SexM:Age60-69:BS(Stairs, 5)5 
SexM:Age> 69:BS(Stairs, 5)5 
0.286 (2.565) 
2.241** (0.828) 
1.384 (0.851) 
6.509*** (1.013) 
0.253 (0.930) 
18.792 (9.748) 
1.200 (1.643) 
1.914*** (0.549) 
1.644** (0.564) 
5.166*** (0.663) 
1.266* (0.624) 
12.446* (5.808) 
0.081 (2.104) 
1.785** (0.639) 
1.161 (0.657) 
5.288*** (0.809) 
0.152 (0.769) 
15.608 (8.133) 
3.225 (1.965) 
1.884** (0.599) 
1.380* (0.617) 
5.208*** (0.873) 
2.068 (1.440) 
7.381 (6.050) 
-6.851 (5.547) 
1.922** (0.630) 
1.463* (0.664) 
5.385* (2.231) 
-2.830 (4.364) 
33.808 (24.159) 
Intercept 
0.114 (0.543) 
Observations 
19,851 
Note 
*p<0.05;**p<0.01;***p<0.001 
Table S1. Regression analysis (mixed model) of speed (km/h) in tower climbing. Estimates 
and standard errors (SE) of fixed effects are reported. P-values ranges are marked with 
asterisks (see note). Smoothing terms, basis splines (BS), are denoted with BS(x, 5) t, where 
x=stairs, floors; t==1,…,5. 

Tower Running-Participation, Performance Trends, and Sex Difference.
Stark, Daniel,Di Gangi, Stefania,Sousa, Caio Victor,Nikolaidis, Pantelis,Knechtle, Beat