Introduction

Coral bleaching is caused by a breakdown in the symbiotic relationship between corals and their symbiont zooxanthellae. The zooxanthellae use photosynthesis to provide more than 90% of the corals’ nutrient intake. When the corals lose the zooxanthellae, they cannot gain enough nutrition for basic cellular function and can die if the zooxanthellae do not return. (AIMS)

Coral reef death can increase flood risk for coastal communities. This is because coral reefs decrease the energy of a storm as it moves towards the coast. They also hold together the seafloor, and when they die, the seafloor starts to erode, which also increases flood risk. (USGS)

NOAA quantifies the heat stress that corals have been exposed to using a system called DHW (degree heating weeks), obtained both with the current temperature at the site and the extent of the previous three months of thermal stress at the site. At 4 DHW, most corals will bleach, and after 8 DHW, mortality is expected. (AIMS)

Bleaching is not only the result of increased SST. Other changing parameters that can cause bleaching include storms, disease, increased suspended sediment, and salinity changes. For example, in 2008 and 2011, bleaching events were noted on the Great Barrier Reef as being caused by a freshwater influx. (AIMS)

Discuss the source of the data, the global coral bleaching database

Provide details about the various statistics: site id, latitude/longitude, distance to shore, turbidity, exposure, cyclone frequency, and severity code.

Background Research

Researchers found that coral bleaching was common in localities that were experiencing high frequency and high intensity thermal anomalies. If a locality had more frequent SST (sea surface temperature) anomalies, corals bleached less than in other localities. They also found that bleaching events happened at higher temperatures in this decade than in previous decades, suggesting that corals have either built up some level of tolerance or those that lacked this tolerance have already died out. (Sully et. al.)

NEED MORE BACKGROUND RESEARCH ON THE QUESTION OF LATITUDE CORRELATING WITH BLEACHING LEVEL

Query

Do geographic factors such as latitude affect how corals bleach?

Methods

Initial Plots

Load the necessary libraries

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.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.0
## ✔ 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
library(tidymodels)
## ── Attaching packages ────────────────────────────────────── tidymodels 1.1.1 ──
## ✔ broom        1.0.5     ✔ rsample      1.2.0
## ✔ dials        1.2.0     ✔ tune         1.1.2
## ✔ infer        1.0.6     ✔ workflows    1.1.3
## ✔ modeldata    1.3.0     ✔ workflowsets 1.0.1
## ✔ parsnip      1.1.1     ✔ yardstick    1.3.0
## ✔ recipes      1.0.9     
## ── Conflicts ───────────────────────────────────────── tidymodels_conflicts() ──
## ✖ scales::discard() masks purrr::discard()
## ✖ dplyr::filter()   masks stats::filter()
## ✖ recipes::fixed()  masks stringr::fixed()
## ✖ dplyr::lag()      masks stats::lag()
## ✖ yardstick::spec() masks readr::spec()
## ✖ recipes::step()   masks stats::step()
## • Use suppressPackageStartupMessages() to eliminate package startup messages
library(openintro)
## Loading required package: airports
## Loading required package: cherryblossom
## Loading required package: usdata
## 
## Attaching package: 'openintro'
## 
## The following object is masked from 'package:modeldata':
## 
##     ames
library(RSQLite)
library(DBI)

Access the database

filename <- "/Users/Harry_Holden-Brown/Downloads/Global_Coral_Bleaching_Database_SQLite_11_24_21.db"

# connect to the database
sqlite.driver <- dbDriver("SQLite")
db <- dbConnect(sqlite.driver, 
                dbname = "Global_Coral_Bleaching_Database_SQLite_11_24_21.db")

The article states that there are 20 tables used

# List all the tables in this database
dbListTables(db)
##  [1] "Authors_LUT"                              
##  [2] "Bleaching_Level_LUT"                      
##  [3] "Bleaching_Prevalence_Score_LUT"           
##  [4] "Bleaching_tbl"                            
##  [5] "City_Town_Name_LUT"                       
##  [6] "Country_Name_LUT"                         
##  [7] "Cover_tbl"                                
##  [8] "Data_Source_LUT"                          
##  [9] "Ecoregion_Name_LUT"                       
## [10] "Environmental_tbl"                        
## [11] "Exposure_LUT"                             
## [12] "Ocean_Name_LUT"                           
## [13] "Query_2_Sample_Event_Counts"              
## [14] "Query_3_Time_Series"                      
## [15] "Query_4_Samples_by_Data_Source"           
## [16] "Query_5_Sites_by_Data_Source"             
## [17] "Query_6_Sites_with_Multiple_Sample_Events"
## [18] "R_Scripts_tbl"                            
## [19] "Realm_Name_LUT"                           
## [20] "Sample_Event_tbl"                         
## [21] "Severity_Code_LUT"                        
## [22] "Site_Info_tbl"                            
## [23] "State_Island_Province_Name_LUT"           
## [24] "Subquery_1_Sites_and_Sample_Events"       
## [25] "Subquery_6_Calculated_Reef_Check_Segments"
## [26] "Substrate_Type_LUT"

Sample code to load the tables from the database

# sample code to load 2 of the tables
site_info <- dbReadTable(db,"Site_Info_tbl")
sample_event <- dbReadTable(db, "Sample_Event_tbl")
bleaching_info <- dbReadTable(db, "Bleaching_tbl")
environment_info <- dbReadTable(db, "Environmental_tbl")

Combining tables

bleaching_tbl1 <- right_join(bleaching_info, sample_event, by = "Sample_ID")
coral <- left_join(site_info, bleaching_tbl1, by = "Site_ID")
head(coral)
##   Site_ID Data_Source Latitude_Degrees Longitude_Degrees Ocean_Name Realm_Name
## 1       1           5           -14.28          -170.715          1          2
## 2       2           5           -14.33          -170.500          1          2
## 3       2           5           -14.33          -170.500          1          2
## 4       2           5           -14.33          -170.500          1          2
## 5       2           5           -14.33          -170.500          1          2
## 6       2           5           -14.33          -170.500          1          2
##   Ecoregion_Name Country_Name State_Island_Province_Name City_Town_Name
## 1             90           94                         20           3977
## 2             90           94                         20           3977
## 3             90           94                         20           3977
## 4             90           94                         20           3977
## 5             90           94                         20           3977
## 6             90           94                         20           3977
##   City_Town_Name_2 City_Town_Name_3 City_Town_Name_4 Site_Name
## 1              960             1038             1039 blob[0 B]
## 2              960              304               NA blob[5 B]
## 3              960              304               NA blob[5 B]
## 4              960              304               NA blob[5 B]
## 5              960              304               NA blob[5 B]
## 6              960              304               NA blob[5 B]
##   Distance_to_Shore Exposure Turbidity Cyclone_Frequency
## 1            105.68        0    0.0245          52.54400
## 2           6923.20        2    0.0251          54.15123
## 3           6923.20        2    0.0251          54.15123
## 4           6923.20        2    0.0251          54.15123
## 5           6923.20        2    0.0251          54.15123
## 6           6923.20        2    0.0251          54.15123
##                                                                                                                                                                                                                                                        Comments.x
## 1 Staghorn corals (Acropora formosa = A. muricata) have begun bleaching in the fringing reef pools of Tutuila, American Samoa.  As of 10/29/05, over 95% of A. formosa in Nuuuli pool, Tutuila, American Samoa are partly bleached.  Mike King reports similar bl
## 2                                                                                                                                                                                                                                                                
## 3                                                                                                                                                                                                                                                                
## 4                                                                                                                                                                                                                                                                
## 5                                                                                                                                                                                                                                                                
## 6                                                                                                                                                                                                                                                                
##   TRIAL534 Bleaching_ID Sample_ID Bleaching_Level S1 S2 S3 S4
## 1        T       215424  10322084              NA NA NA NA NA
## 2        T       215425  10322085              NA NA NA NA NA
## 3        T       215426  10322086              NA NA NA NA NA
## 4        T       215427  10322087              NA NA NA NA NA
## 5        T       215428  10322088              NA NA NA NA NA
## 6        T       215429  10322089              NA NA NA NA NA
##   Percent_Bleaching_Old_Method Severity_Code Percent_Bleached
## 1                           NA             1               NA
## 2                           NA             3             57.5
## 3                           NA             3             82.0
## 4                           NA             3             80.0
## 5                           NA             2             30.0
## 6                           NA             2             40.0
##   Number__Bleached_Colonies bleach_intensity Bleaching_Prevalence_Score
## 1                      <NA>               NA                         NA
## 2                      <NA>               NA                         NA
## 3                      <NA>               NA                         NA
## 4                      <NA>               NA                         NA
## 5                      <NA>               NA                         NA
## 6                      <NA>               NA                         NA
##   TRIAL485 Reef_ID Date_Day Date_Month Date_Year Depth_m Quadrat_No  Comments.y
## 1        T    <NA>       15         10      2005      NA         NA blob[255 B]
## 2        T    <NA>       15          1      2008     8.5         NA   blob[0 B]
## 3        T    <NA>       15          1      2007     8.5         NA   blob[0 B]
## 4        T    <NA>       15          2      2005     8.5         NA   blob[0 B]
## 5        T    <NA>       15          3      2010     8.5         NA   blob[0 B]
## 6        T    <NA>       15          3      2004     8.5         NA   blob[0 B]
##   TRIAL528
## 1        T
## 2        T
## 3        T
## 4        T
## 5        T
## 6        T
summary(coral$Percent_Bleached)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##    0.00    1.60    8.33   20.58   31.50  100.00   30796
# We have now combined all relevant tables into one table called "coral."

Longitude v Latitude by Severity Code

coral1 <- coral |>
  filter(!is.na(coral$Severity_Code))|>
  filter(Severity_Code != -1)
# Filter NA observations and observations of -1, which are defined as "unknown".
ggplot(data = coral1, aes(Longitude_Degrees, Latitude_Degrees, color = Severity_Code)) +
  geom_point()

# This is showing all observations by their latitude and longitude, and color coding the observations by their bleaching severity.

Longitude v Latitude by Year

ggplot(data = coral1, aes(Longitude_Degrees, Latitude_Degrees, color = Date_Year)) +
  geom_point()

# This is to get a sense of the date spread of these observations.

Bar graph count of Severity Code observations

ggplot(data = coral1, aes(x = Severity_Code))+
  geom_bar()

# Visualizing how many observations have each severity code.

Scatterplot of Severity Code v Latitude

ggplot(data = coral1, aes(x = abs(Latitude_Degrees), y = Severity_Code))+
  geom_point()

# This graph shows remarkable evidence for pursuing the hypothesis that observations that are further from the equator will experience less bleaching.

Number of observations by Year colored for Severity Code

ggplot(coral1, aes(x = Date_Year, color = factor(Severity_Code)))+
  geom_histogram()
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Summary Statistics

Analysis

Trying to estimate bleaching severity based on latitude.

Check basic assumptions: We must assume that all observations are independent.

#corallog <- coral1 |>
  #mutate(Severity_50% = ifelse(coral1$Severity_Code == "3", 1, 0))
#ggplot(data = corallog, aes(x = abs(Latitude_Degrees), y = Severity_50%))+
  #geom_jitter()
#aov_severity_code <- aov(Severity_Code ~ Latitude_Degrees, data = coral1)
#summary(aov_severity_code)
#TukeyHSD(aov_severity_code)

Conclusion

Write a general conclusion based on the statistical analysis you performed. Restate p-values, confidence intervals, and any other important results from your findings. Write specific conclusions regarding implications of your results (useful to the general public). You can include your own personal opinions here.

Closing Thoughts

Write your opinion about how the overall statistical analysis went. Was it thorough? Were there pieces you wished to include if you had had that data? Were there questions left unanswered? Were there deficiencies in the original data?

Bibliography

“Coral Bleaching.” AIMS, www.aims.gov.au/research-topics/environmental-issues/coral-bleaching. Accessed 7 Apr. 2024.

Sully, S., et al. “A global analysis of coral bleaching over the past two decades.” Nature Communications, vol. 10, no. 1, 20 Mar. 2019, https://doi.org/10.1038/s41467-019-09238-2.

Van Woesik, Robert, and Kratochwill, Chelsey. “A global coral-bleaching database, 1980–2020.” Scientific Data, vol. 9, no. 1, 20 Jan. 2022, https://doi.org/10.1038/s41597-022-01121-y.

“Coral Bleaching Event Can Increase Flood Risk, Economic Losses: U.S. Geological Survey.” Coral Bleaching Event Can Increase Flood Risk, Economic Losses | U.S. Geological Survey, USGS, www.usgs.gov/programs/cmhrp/news/coral-bleaching-event-can-increase-flood-risk-economic-losses. Accessed 7 Apr. 2024.