{"id":5096,"date":"2025-07-13T13:25:59","date_gmt":"2025-07-13T12:25:59","guid":{"rendered":"https:\/\/pcool.dyndns.org\/?page_id=5096"},"modified":"2025-07-14T07:59:38","modified_gmt":"2025-07-14T06:59:38","slug":"do-storks-deliver-babies","status":"publish","type":"page","link":"https:\/\/pcool.dyndns.org\/index.php\/do-storks-deliver-babies\/","title":{"rendered":"Do Storks Deliver Babies?"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"489\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/stork-baby.jpg.webp\" alt=\"\" class=\"wp-image-5097\" srcset=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/stork-baby.jpg.webp 800w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/stork-baby.jpg-300x183.webp 300w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/stork-baby.jpg-768x469.webp 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p class=\"is-style-text-annotation is-style-text-annotation--1\">Image from <a href=\"https:\/\/www.birdspot.co.uk\/culture\/storks-and-the-delivery-of-babies\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.birdspot.co.uk\/culture\/storks-and-the-delivery-of-babies<\/a><\/p>\n\n\n\n<p>According to European folklore, the white stork (Ciconia ciconia) delivers new babies to parents. The story was popularised by <a href=\"https:\/\/www.pookpress.co.uk\/the-storks-hans-christian-andersen\/\" target=\"_blank\" rel=\"noreferrer noopener\">Hans Christian Anderson<\/a>:<\/p>\n\n\n\n<p><em>\u201cStork, stork, fly away;<br>Stand not on one leg to-day.<br>Thy dear wife is in the nest,<br>Where she rocks her young to rest.<br>The first he will be hanged,<br>The second will be hit,<br>The third he will be shot,<br>And the fourth put on the spit.\u201d<\/em><\/p>\n\n\n\n<p>&#8230;..<\/p>\n\n\n\n<p><em>Now we will fly to the pond, and bring one for each of the children who have not sung the naughty song and laughed at the Storks.\u201d<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"356\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/crop-stork-scaled-1-1024x356.webp\" alt=\"\" class=\"wp-image-5103\" srcset=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/crop-stork-scaled-1-1024x356.webp 1024w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/crop-stork-scaled-1-300x104.webp 300w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/crop-stork-scaled-1-768x267.webp 768w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/crop-stork-scaled-1-1536x534.webp 1536w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/crop-stork-scaled-1.webp 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"is-style-text-annotation is-style-text-annotation--2\"><a href=\"https:\/\/www.birdlife.org\/news\/2024\/03\/13\/migratory-bird-of-the-month-white-stork\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.birdlife.org\/news\/2024\/03\/13\/migratory-bird-of-the-month-white-stork<\/a><\/p>\n\n\n\n<p>The origins of the myth are probably related to:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Migration of storks, arriving in the spring when more babies are born<\/li>\n\n\n\n<li>Monogamous relationship<\/li>\n\n\n\n<li>Nesting close the humans on high chimneys<\/li>\n<\/ul>\n\n\n\n<p>Storks migrate to over-winter in sub-Saharan Africa. The routes are shown in the image below: <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/WhiteStorkMap.svg\" alt=\"\" class=\"wp-image-5102\"\/><\/figure>\n\n\n\n<p class=\"is-style-text-annotation is-style-text-annotation--3\">origin <a href=\"https:\/\/en.wikipedia.org\/wiki\/White_stork#\/media\/File:WhiteStorkMap.svg\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/en.wikipedia.org\/wiki\/White_stork#\/media\/File:WhiteStorkMap.svg<\/a><\/p>\n\n\n\n<p>In 2000, Robert Andrews, wrote in Teaching Statistics (<a href=\"http:\/\/dx.doi.org\/10.1111\/1467-9639.00013\" target=\"_blank\" rel=\"noreferrer noopener\">10.1111\/1467-9639.00013<\/a>), that there is a &#8216;<strong><em>highly statistically significant<\/em><\/strong>&#8216; correlation between stork populations and human birth rates across Europe. Although the term &#8216;highly statistically significant&#8217; is incorrect (the <a href=\"https:\/\/pcool.dyndns.org\/index.php\/p-values-confidence-intervals-their-use-and-abuse\/\" data-type=\"page\" data-id=\"1937\" target=\"_blank\" rel=\"noreferrer noopener\">p value<\/a> refers to the probability the test statistic takes a more extreme value and does <strong><em>not<\/em><\/strong> measure the probability the hypothesis is true), it is clearly intended to highlight the danger of confusing correlation with causation (<a href=\"https:\/\/pcool.dyndns.org\/index.php\/correlation-coefficient\/\" data-type=\"page\" data-id=\"823\" target=\"_blank\" rel=\"noreferrer noopener\">Hill&#8217;s criteria<\/a>).<\/p>\n\n\n\n<p>Let&#8217;s examine the question in more detail for The Netherlands with figures available from public sources. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Population data, including birth rates were downloaded from the <a href=\"https:\/\/opendata.cbs.nl\/#\/CBS\/nl\/\" data-type=\"link\" data-id=\"https:\/\/opendata.cbs.nl\/#\/CBS\/nl\/\" target=\"_blank\" rel=\"noreferrer noopener\">Centraal Bureau voor de Statistiek<\/a> and were saved as <a href=\"https:\/\/pcool.dyndns.org:\/wp-content\/data_files\/df_pop_nl.rda\" data-type=\"link\" data-id=\"https:\/\/pcool.dyndns.org:\/wp-content\/data_files\/df_pop_nl.rda\">rda<\/a> and <a href=\"https:\/\/pcool.dyndns.org:\/wp-content\/data_files\/df_pop_nl.csv\" data-type=\"link\" data-id=\"https:\/\/pcool.dyndns.org:\/wp-content\/data_files\/df_pop_nl.csv\">csv<\/a> files<\/li>\n\n\n\n<li>Stork numbers were obtained from two sources:&nbsp;&nbsp;\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.ooievaars.eu\/x1200\/eigen\/178-185%2090-4%20Ooievaars%20WEB.pdf\" data-type=\"link\" data-id=\"https:\/\/www.ooievaars.eu\/x1200\/eigen\/178-185%2090-4%20Ooievaars%20WEB.pdf\" target=\"_blank\" rel=\"noreferrer noopener\"> Sovon data from 1930 &#8211; 2016<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.ooievaars.eu\/0521wintertellingen_2025\/default.html\" data-type=\"link\" data-id=\"https:\/\/www.ooievaars.eu\/0521wintertellingen_2025\/default.html\" target=\"_blank\" rel=\"noreferrer noopener\">STichting Ooievaars Research and Knowhow<\/a> (STORK) data from 1990 &#8211; 2025\n<ul class=\"wp-block-list\">\n<li>Both sources contained a bar chart with number of breeding pairs for each year.  The number of breeding pairs were read from the plot using a ruler for accuracy<\/li>\n\n\n\n<li>Between 1930 and 1990 data were only available from Sovon<\/li>\n\n\n\n<li>Between 2016 and 2025 data were only available from STORK<\/li>\n\n\n\n<li>Between 2016 and 1990 data were available from Sovon and STORK. Although similar, the values were not identical and the mean value was taken. The data were saved as <a href=\"https:\/\/pcool.dyndns.org:\/wp-content\/data_files\/df_stork.rda\" data-type=\"link\" data-id=\"https:\/\/pcool.dyndns.org:\/wp-content\/data_files\/df_stork.rda\">rda<\/a> and <a href=\"https:\/\/pcool.dyndns.org:\/wp-content\/data_files\/df_stork.csv\" data-type=\"link\" data-id=\"https:\/\/pcool.dyndns.org:\/wp-content\/data_files\/df_stork.csv\">csv<\/a> files<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Download the data (csv) and import in R:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fa0202\" class=\"has-inline-color\">library(ggplot2)\nlibrary(dplyr)\n\nload('\/path_to_file\/df_stork.rda')\nload('\/path_to_file\/df_pop_nl.rda')\n\ndf_stork\n<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#4302fa\" class=\"has-inline-color\"># A tibble: 84 \u00d7 2\n    year breeding_pairs\n   &lt;dbl&gt;          &lt;dbl&gt;\n 1  1931           230 \n 2  1932           275 \n 3  1933           250 \n 4  1934           312.\n 5  1935           298.\n 6  1936           348.\n 7  1937           298.\n 8  1938           290 \n 9  1939           318.\n10  1940           325 \n# \u2139 74 more rows\n# \u2139 Use `print(n = ...)` to see more rows<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fa0202\" class=\"has-inline-color\">\n\ndf_pop_nl\n<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#3202fa\" class=\"has-inline-color\"># A tibble: 83 \u00d7 8\n    year decade population_jan_01 population_dec_31   born born_ratio_per_1000 deaths deaths_ratio_per_1000\n   &lt;dbl&gt; &lt;fct&gt;              &lt;dbl&gt;             &lt;dbl&gt;  &lt;dbl&gt;               &lt;dbl&gt;  &lt;dbl&gt;                 &lt;dbl&gt;\n 1  1942 40               9007722           9076250 189975                21    86040                   9.5\n 2  1943 40               9076250           9128570 209379                23    91438                  10  \n 3  1944 40               9128570           9220294 219946                24   108087                  11.8\n 4  1945 40               9220294           9304301 209607                22.6 141398                  15.3\n 5  1946 40               9304301           9542659 284456                30.2  80151                   8.5\n 6  1947 40               9542659           9715890 267348                27.8  77646                   8.1\n 7  1948 40               9715890           9884415 247923                25.3  72459                   7.4\n 8  1949 40               9884415          10026773 236177                23.7  81077                   8.1\n 9  1950 50              10026773          10200280 229369                22.7  75580                   7.5\n10  1951 50              10200280          10328343 228631                22.3  77194                   7.5\n# \u2139 73 more rows\n# \u2139 Use `print(n = ...)` to see more rows<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fa0202\" class=\"has-inline-color\">\n<\/mark><\/em><\/code><\/pre>\n\n\n\n<p>Link the data frames by year to create a new data frame (df):<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f40404\" class=\"has-inline-color\">df &lt;- left_join(df_pop_nl, df_stork, by=c('year'='year'))<\/mark><\/em>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f40404\" class=\"has-inline-color\">\nstr(df)\n<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#6405f5\" class=\"has-inline-color\">tibble &#91;83 \u00d7 9] (S3: tbl_df\/tbl\/data.frame)\n $ year                 : num &#91;1:83] 1942 1943 1944 1945 1946 ...\n $ decade               : Factor w\/ 9 levels \"00\",\"10\",\"20\",..: 4 4 4 4 4 4 4 4 5 5 ...\n $ population_jan_01    : num &#91;1:83] 9007722 9076250 9128570 9220294 9304301 ...\n $ population_dec_31    : num &#91;1:83] 9076250 9128570 9220294 9304301 9542659 ...\n $ born                 : num &#91;1:83] 189975 209379 219946 209607 284456 ...\n $ born_ratio_per_1000  : num &#91;1:83] 21 23 24 22.6 30.2 27.8 25.3 23.7 22.7 22.3 ...\n $ deaths               : num &#91;1:83] 86040 91438 108087 141398 80151 ...\n $ deaths_ratio_per_1000: num &#91;1:83] 9.5 10 11.8 15.3 8.5 8.1 7.4 8.1 7.5 7.5 ...\n $ breeding_pairs       : num &#91;1:83] 250 202 NA NA NA ...<\/mark><\/em>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f40404\" class=\"has-inline-color\">\nhead(df)\n<\/mark><mark style=\"background-color:rgba(0, 0, 0, 0);color:#2305f5\" class=\"has-inline-color\"># A tibble: 6 \u00d7 9\n   year decade population_jan_01 population_dec_31   born born_ratio_per_1000 deaths deaths_ratio_per_1000 breeding_pairs\n  &lt;dbl&gt; &lt;fct&gt;              &lt;dbl&gt;             &lt;dbl&gt;  &lt;dbl&gt;               &lt;dbl&gt;  &lt;dbl&gt;                 &lt;dbl&gt;          &lt;dbl&gt;\n1  1942 40               9007722           9076250 189975                21    86040                   9.5           250 \n2  1943 40               9076250           9128570 209379                23    91438                  10             202.\n3  1944 40               9128570           9220294 219946                24   108087                  11.8            NA \n4  1945 40               9220294           9304301 209607                22.6 141398                  15.3            NA \n5  1946 40               9304301           9542659 284456                30.2  80151                   8.5            NA \n6  1947 40               9542659           9715890 267348                27.8  77646                   8.1            NA<\/mark><\/em><\/code><\/pre>\n\n\n\n<p>Have a look at the population of The Netherlands:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f50202\" class=\"has-inline-color\">df %&gt;%\n\tggplot(aes(x=as.factor(year), y=population_jan_01\/1000000)) +\n\tgeom_bar(stat='identity', colour='black',fill='olivedrab') +\n\tggtitle('Population in the Netherlands on 1st January') +\n\tscale_x_discrete('Year', guide = guide_axis(n.dodge = 5)) +\n\tscale_y_continuous('Population in millions', limits=c(0,20)) +\n\ttheme_bw()<\/mark><\/em><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/population-1024x1024.jpg\" alt=\"\" class=\"wp-image-5122\" srcset=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/population-1024x1024.jpg 1024w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/population-300x300.jpg 300w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/population-150x150.jpg 150w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/population-768x768.jpg 768w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/population-1536x1536.jpg 1536w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/population-2048x2048.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>There is a continuous growth of the population. The number of breeding stork pairs is shown in the plot below:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f31010\" class=\"has-inline-color\">df %&gt;%\n\tggplot(aes(x=as.factor(year), y=breeding_pairs)) +\n\tgeom_bar(stat='identity', colour='black',fill='tomato') +\n\tggtitle('Storks in the Netherlands') +\n\tscale_x_discrete('Year', guide = guide_axis(n.dodge = 5)) +\n\tscale_y_continuous('Number of Breeding Pairs', limits=c(0,2000)) +\n\ttheme_bw()<\/mark><\/em><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/breeding_storks-1024x1024.jpg\" alt=\"\" class=\"wp-image-5123\" srcset=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/breeding_storks-1024x1024.jpg 1024w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/breeding_storks-300x300.jpg 300w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/breeding_storks-150x150.jpg 150w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/breeding_storks-768x768.jpg 768w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/breeding_storks-1536x1536.jpg 1536w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/breeding_storks-2048x2048.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Is there an association between the population and the number of breeding stork pairs?<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f40505\" class=\"has-inline-color\">df %&gt;%\n\tggplot(aes(x= breeding_pairs, y=population_jan_01\/1000000)) +\n\tgeom_point() +\n\tgeom_smooth(method='lm', se=TRUE) +\n\tggtitle('Storks in The Netherlands') +\n\tscale_x_continuous('Number of Breeding Stork Pairs') +\n\tscale_y_continuous('Population on 1st January &#91;millions]', limit=c(9, 20)) +\n\ttheme_bw()<\/mark><\/em><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population-1024x1024.jpg\" alt=\"\" class=\"wp-image-5125\" srcset=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population-1024x1024.jpg 1024w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population-300x300.jpg 300w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population-150x150.jpg 150w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population-768x768.jpg 768w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population-1536x1536.jpg 1536w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population-2048x2048.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"is-style-text-annotation is-style-text-annotation--4\">Please note the number of stork breeding pairs is a predictor variable here, so should be on the x-axis.<\/p>\n\n\n\n<p>Although there appears to be a good correlation, there is statistical leverage at the left side of the plot. Let&#8217;s look what happens if we separate decades:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#ee0a0a\" class=\"has-inline-color\">df %&gt;%\n\tggplot(aes(x=breeding_pairs, y=population_jan_01\/1000000, colour=decade)) +\n\tgeom_point() +\n\tgeom_smooth(method='lm', se=TRUE) +\n\tggtitle('Storks in The Netherlands') +\n\tscale_x_continuous('Number of Breeding Stork Pairs') +\n\tscale_y_continuous('Population on 1st January &#91;millions]', limit=c(9, 20)) +\n\ttheme_bw()<\/mark><\/em><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population_decade-1024x1024.jpg\" alt=\"\" class=\"wp-image-5127\" srcset=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population_decade-1024x1024.jpg 1024w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population_decade-300x300.jpg 300w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population_decade-150x150.jpg 150w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population_decade-768x768.jpg 768w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population_decade-1536x1536.jpg 1536w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_total_population_decade-2048x2048.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>That does look better, but population growth is not necessarily due to an increase in birth rate &#8230; (it could also be due to immigration or reduced death rate). Let&#8217;s look at the number of new live births per thousand population in The Netherlands:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fb0606\" class=\"has-inline-color\">df %&gt;%\n\tggplot(aes(x=as.factor(year), y=born_ratio_per_1000)) +\n\tgeom_bar(stat='identity', colour='black',fill='orchid') +\n\tggtitle('Live Birth ratio in the Netherlands') +\n\tscale_x_discrete('Year', guide = guide_axis(n.dodge = 5)) +\n\tscale_y_continuous('Number of Births per 1,000 poputation') +\n\ttheme_bw()<\/mark><\/em><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/birth_ratio-1024x1024.jpg\" alt=\"\" class=\"wp-image-5128\" srcset=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/birth_ratio-1024x1024.jpg 1024w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/birth_ratio-300x300.jpg 300w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/birth_ratio-150x150.jpg 150w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/birth_ratio-768x768.jpg 768w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/birth_ratio-1536x1536.jpg 1536w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/birth_ratio-2048x2048.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>There is a clear decline in birth rate! What about the correlation with the number of breeding stork pairs?<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f50b0b\" class=\"has-inline-color\">df %&gt;%\n\tggplot(aes(x= breeding_pairs, y=born_ratio_per_1000)) +\n\tgeom_point() +\n\tgeom_smooth(method='lm', se=TRUE) +\n\tggtitle('Storks in The Netherlands') +\n\tscale_x_continuous('Number of Breeding Stork Pairs') +\n\tscale_y_continuous('Number of Live Born Children \/ 1000 population') +\n\ttheme_bw()<\/mark><\/em><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio-1024x1024.jpg\" alt=\"\" class=\"wp-image-5129\" srcset=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio-1024x1024.jpg 1024w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio-300x300.jpg 300w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio-150x150.jpg 150w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio-768x768.jpg 768w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio-1536x1536.jpg 1536w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio-2048x2048.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"is-style-text-annotation is-style-text-annotation--5\">Again, breeding stork pairs are the predictor variable here and should be on the x-axis.<\/p>\n\n\n\n<p>So, there is a negative association, with statistical leverage at the left side of the plot. Let&#8217;s separate decades:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f10707\" class=\"has-inline-color\">df %&gt;%\n\tggplot(aes(x=breeding_pairs, y=born_ratio_per_1000, colour=decade)) +\n\tgeom_point() +\n\tgeom_smooth(method='lm', se=TRUE) +\n\tggtitle('Storks in The Netherlands') +\n\tscale_x_continuous('Number of Breeding Stork Pairs') +\n\tscale_y_continuous('Number of Live Born Children \/ 1000 population', limit=c(5,25)) +\n\ttheme_bw()<\/mark><\/em><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_decade-1024x1024.jpg\" alt=\"\" class=\"wp-image-5132\" srcset=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_decade-1024x1024.jpg 1024w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_decade-300x300.jpg 300w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_decade-150x150.jpg 150w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_decade-768x768.jpg 768w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_decade-1536x1536.jpg 1536w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_decade-2048x2048.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>So, the leverage is due to the earlier data (before 1980). Let&#8217;s restrict the data to from 1980 onwards, calculate the correlation coefficients (Pearson for linear correlation, Spearman for ordered correlation as well as Kendall correlation) and create a label to add to the plot to follow:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f70707\" class=\"has-inline-color\">decenia &lt;- c('80', '90', '00', '10', '20')<\/mark><\/em>\n<em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f70707\" class=\"has-inline-color\"># restrict to from 1980 onwards\ndf_80_onwards &lt;-  subset(df, df$decade %in% decenia) \n\npearson = cor.test(df_80_onwards$breeding_pairs, df_80_onwards$born_ratio_per_1000, method = 'pearson')\n(pearson_value = pearson$estimate)\n(pearson_p = pearson$p.value)\nspearman = cor.test(df_80_onwards$breeding_pairs, df_80_onwards$born_ratio_per_1000, method = 'spearman')\n(spearman_value = spearman$estimate)\n(spearman_p = spearman$p.value)\nkendall = cor.test(df_80_onwards$breeding_pairs, df_80_onwards$born_ratio_per_1000, method = 'kendall')\n(kendall_value = kendall$estimate)\n(kendall_p = kendall$p.value)\n\n# round corr coeff in %\npearson_value = round(pearson_value,3)*100\npearson_value \nspearman_value = round(spearman_value,3)*100\nspearman_value \nkendall_value = round(kendall_value,3)*100\nkendall_value\n\n# correct to three decimals\npearson_p = ifelse(pearson_p &lt; 0.001, 'p &lt; 0.001', as.character(round(pearson_p, 3)))\npearson_p\nspearman_p = ifelse(spearman_p &lt; 0.001, 'p &lt; 0.001', as.character(round(spearman_p, 3)))\nspearman_p\nkendall_p = ifelse(kendall_p &lt; 0.001, 'p &lt; 0.001', as.character(round(kendall_p, 3)))\nkendall_p\n\npearson_label = paste('Pearson    Correlation Coeff: ', pearson_value, \"%, \", pearson_p, sep='')\npearson_label\nspearman_label = paste('Spearman Correlation Coeff: ', spearman_value, \"%, \", spearman_p, sep='')\nspearman_label\nkendall_label = paste('Kendall     Correlation Coeff: ', kendall_value, \"%, \", kendall_p, sep='')\nkendall_label<\/mark><\/em><\/code><\/pre>\n\n\n\n<p>Let&#8217;s have a look:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em>\n<\/em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f40808\" class=\"has-inline-color\"><em>pearson_label\n<\/em><\/mark><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#1507f5\" class=\"has-inline-color\">&#91;1] \"Pearson    Correlation Coeff: -93.1%, p &lt; 0.001\"<\/mark><\/em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f40808\" class=\"has-inline-color\"><em>\nspearman_label<\/em>\n<\/mark><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#3507f5\" class=\"has-inline-color\">&#91;1] \"Spearman Correlation Coeff: -82.4%, p &lt; 0.001\"<\/mark><\/em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f40808\" class=\"has-inline-color\"><em>\nkendall_label\n<\/em><\/mark><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#5607f5\" class=\"has-inline-color\">&#91;1] \"Kendall     Correlation Coeff: -68.6%, p &lt; 0.001\"<\/mark><\/em><\/code><\/pre>\n\n\n\n<p>Have a look at the plot from 1980 onwards, annotated with the correlation coefficients:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f30707\" class=\"has-inline-color\">df_80_onwards %&gt;%\n\tggplot(aes(x=breeding_pairs, y=born_ratio_per_1000)) +\n\tgeom_point() +\n\tgeom_smooth(method='lm', se=TRUE) +\n\tggtitle('Storks in The Netherlands - from 1980 onwards') +\n\tscale_x_continuous('Number of Breeding Stork Pairs') +\n\tscale_y_continuous('Number of Live Born Children \/ 1000 population', limits=c(8,14)) +\n\tannotate(geom = 'text', label = pearson_label , x = 750, y = 14, fontface = 'bold', hjust = 0) +\n\tannotate(geom = 'text', label = spearman_label , x = 750, y = 13.75, fontface = 'bold', hjust = 0) +\n\tannotate(geom = 'text', label = kendall_label , x = 750, y = 13.5, fontface = 'bold', hjust = 0) +\n\ttheme_bw()<\/mark><\/em><\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_since_80s-1-1024x1024.jpg\" alt=\"\" class=\"wp-image-5143\" srcset=\"https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_since_80s-1-1024x1024.jpg 1024w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_since_80s-1-300x300.jpg 300w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_since_80s-1-150x150.jpg 150w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_since_80s-1-768x768.jpg 768w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_since_80s-1-1536x1536.jpg 1536w, https:\/\/pcool.dyndns.org\/wp-content\/uploads\/2025\/07\/corr_birth_ratio_since_80s-1-2048x2048.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"is-style-default\">So, pretty impressive correlation, but it is a negative association: the more storks, the less live births. Perhaps a bit like modern medicine and the storks are having meetings to decide on delivery dates?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Image from https:\/\/www.birdspot.co.uk\/culture\/storks-and-the-delivery-of-babies According to European folklore, the white stork (Ciconia ciconia) delivers new babies to parents. The story was popularised by Hans Christian Anderson: \u201cStork, stork, fly away;Stand not on one leg to-day.Thy dear wife is in the nest,Where she rocks her young to rest.The first he will be hanged,The second will be hit,The [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-5096","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/pages\/5096","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/comments?post=5096"}],"version-history":[{"count":21,"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/pages\/5096\/revisions"}],"predecessor-version":[{"id":5166,"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/pages\/5096\/revisions\/5166"}],"wp:attachment":[{"href":"https:\/\/pcool.dyndns.org\/index.php\/wp-json\/wp\/v2\/media?parent=5096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}