1. Load libaries

library(tidyverse)
library(plyr)
library(kableExtra)
library(ggplot2)
library(dplyr)
library(lubridate)

2. Load data

file_path <- "C:/Users/oelle/Documents/Meine Dokumente/Research/Projects/Project_RockLobster/Temperature acclimation/Aerobic scope/Statistics/"

save_path <- "C:/Users/oelle/Documents/Meine Dokumente/Research/Projects/Project_RockLobster/Temperature acclimation/Aerobic scope/Statistics/Q10/" 

# Read combined data file
  mo2_data <- read.csv(paste(file_path, "MO2_Escape_Data_long.csv", sep = ""))
  
# Read combined data as means
  mo2_data_means <- read.csv(paste(file_path, "MO2_Escape_Data_means_long.csv", sep = ""))

3. Define Q10 function

# df_data <- sub_trait
# species_var <- "Species"
# group_var <- ""
# level_var <- "AcclimationTemperature_C"
# temp_var <- "ExperimentalTemperature_C"
# data_var <- "mean"

# Function to calculate Q10
get_q10 <- function(df_data, group_var, species_var, level_var, temp_var, data_var) {
  
  # Convert to data frame
    df_data <- as.data.frame(df_data)
  
  # Find columns for variables
    species_var_index <- grep(species_var, names(df_data))
    group_var_index <- grep(group_var, names(df_data))
    temp_var_index <- grep(temp_var, names(df_data))
    data_var_index <- grep(data_var, names(df_data))
    level_var_index <- grep(level_var, names(df_data))
  
  # Extract animal IDs
    group_ID <- unique(df_data[ ,group_var_index])
  
  # Create data vectors
    Q10 <- data.frame()
  
    i <- 3
  # Loop over each group ID
    for (i in seq_along(group_ID)){

     # Subset by animal ID
       data_sub <- df_data[df_data[,group_var_index]==group_ID[i],]

      
    # only calculate Q10 if there are more than two data points
      if(nrow(data_sub)>1) {
            
      # Order by temperature
        data_sub <- data_sub[order(data_sub[,temp_var_index]),]
      
      # Define row indices
        r1 <- c(1:(nrow(data_sub)-1))
        r2 <- c(2:nrow(data_sub))
      
      # Calculate Q10= (R2/R1)^(10/(T2 - T1)) and attach to vector variable
        rate1 <- data_sub[,data_var_index][r1]
        rate2 <- data_sub[,data_var_index][r2]
        temp1 <- data_sub[,temp_var_index][r1]
        temp2 <- data_sub[,temp_var_index][r2]
        q10 <- (rate2/rate1)^(10/(temp2-temp1))
      
      # Create results table  
        Q10 <- rbind(Q10, data.frame("Species" = data_sub[,species_var_index][r1],
                               "Group_ID" = data_sub[,group_var_index][r1], 
                               "AcclimationTemperature_C" = data_sub[,level_var_index][r1],
                               "Q10" = round(q10, 3),
                               "Temp1" = round(temp1, 1),
                               "Temp2" = round(temp2, 1)))
      }
   
    # End loop
  }
  
  # Return Q10 results
  return(Q10)
  
  # End function
}

4A. Calculate thermal coefficients for all traits and temperatures

# Remove unneeded columns
  sub_data <- mo2_data[,c(2:3, 5:6,11:12)]

# Create data frame for Q10 calculations
  q10_all <- data.frame()

# Loop over traits and calculate q10
  i <- 1
  for(i in seq_along(unique(sub_data$Trait))){
    
    # Select animal ID
      trait <- unique(sub_data$Trait)[i]
      sub_trait <- filter(sub_data, Trait == trait)
    
      # Q10 function
        q10 <- get_q10(sub_trait, group_var = "AntTag", 
                      species_var = "Species", 
                      temp_var =  "ExperimentalTemperature_C",
                      level_var = "AcclimationTemperature_C",
                      data_var = "value")    
      
      # Attach trait column
        q10$Trait <- trait
        
      # Attach to q10 data frame
        q10_all <- rbind(q10_all, q10)
      
  }

4B. Calculate thermal coefficients for all traits but only for 14 and 21.5°C experimental temperature

# Remove data for 17.5°C experimental temperature
  sub_no17 <- filter(sub_data, ExperimentalTemperature_C != 17.5)  

# Create data frame for Q10 calculations
  q10_all_no17 <- data.frame()

# Loop over traits and calculate q10
  i <- 1
  for(i in seq_along(unique(sub_data$Trait))){
    
    # Select animal ID
      trait <- unique(sub_no17$Trait)[i]
      sub_trait <- filter(sub_no17, Trait == trait)
    
      # Q10 function
        q10 <- get_q10(sub_trait, group_var = "AntTag", 
                      species_var = "Species", 
                      temp_var =  "ExperimentalTemperature_C",
                      level_var = "AcclimationTemperature_C",
                      data_var = "value")    
      
      # Attach trait column
        q10$Trait <- trait
        
      # Attach to q10 data frame
        q10_all_no17 <- rbind(q10_all_no17, q10)
      
  }

4C Calculate Q10 for means of data without 17.5°C experimental temperature

# Remove unneeded columns
  sub_data_means <- mo2_data_means[,c(2:5, 7)]

# Remove data for 17.5°C experimental temperature
  sub_means_no17 <- filter(sub_data_means, ExperimentalTemperature_C != 17.5)  

# Create data frame for Q10 calculations
  q10_means_all <- data.frame()

# Loop over traits and calculate q10
  i <- 1
  for(i in seq_along(unique(sub_means_no17$Trait))){
    
    # Subset by trait
      trait <- unique(sub_means_no17$Trait)[i]
      sub_trait <- filter(sub_means_no17, Trait == trait)
      
    # Loop for each species
      Q10_species <- data.frame()
      z <- 1
      for(z in seq_along(unique(sub_trait$Species))){
        
        # Subset by species
          species <- unique(sub_trait$Species)[z]
          sub_species <- filter(sub_trait, Species == species)
          
        # Loop for each acclimation temperature
          # Create data vectors
            Q10 <- data.frame()
            x <- 1
          for(x in seq_along(unique(sub_species$AcclimationTemperature_C))){
            
                # Subset by acclimation temperature
                  AcclimationTemp <- unique(sub_species$AcclimationTemperature_C)[x]
                  sub_AcclimationTemp <- filter(sub_species, AcclimationTemperature_C == AcclimationTemp)
            
                # Order by temperature
                  sub_AcclimationTemp <- sub_AcclimationTemp[order(sub_AcclimationTemp$ExperimentalTemperature_C),]
              
                # Define row indices
                  r1 <- c(1:(nrow(sub_AcclimationTemp)-1))
                  r2 <- c(2:nrow(sub_AcclimationTemp))
                
                # Calculate Q10= (R2/R1)^(10/(T2 - T1)) and attach to vector variable
                  rate1 <- sub_AcclimationTemp$mean[r1]
                  rate2 <- sub_AcclimationTemp$mean[r2]
                  temp1 <- sub_AcclimationTemp$ExperimentalTemperature_C[r1]
                  temp2 <- sub_AcclimationTemp$ExperimentalTemperature_C[r2]
                  q10 <- (rate2/rate1)^(10/(temp2-temp1))
                
                # Create results table  
                  Q10 <- rbind(Q10, data.frame("Species" = sub_AcclimationTemp$Species[1],
                                           "AcclimationTemperature_C" = sub_AcclimationTemp$AcclimationTemperature_C[1],
                                           "Trait" = sub_AcclimationTemp$Trait[1],
                                           "Q10" = round(q10, 3),
                                           "Temp1" = round(temp1, 1),
                                           "Temp2" = round(temp2, 1)))

                

                # Close loop x
          }
            
            # Attach to data frame
              Q10_species <- rbind(Q10_species, Q10)
            
          # Close loop z  
      }

      # Attach to overall q10 data frame
        q10_means_all <- rbind(q10_means_all, Q10_species)
      # Close loop i
  }

5A. Calculate descriptive statistics for all Q10

# Remove outliers
  outliers <- boxplot(q10_all$Q10, plot = FALSE)$out
  q10_all_noOutliers <- q10_all[-which(q10_all$Q10 %in% outliers),]

# Calculate summary statistics
  q10_means <- ddply(q10_all_noOutliers, c("Species", "Trait", "AcclimationTemperature_C", "Temp1"), summarise,
                  mean = mean(Q10, na.rm = TRUE),
                  n = length(Q10),
                  sd = sd(Q10, na.rm = TRUE),
                  ci = qt(0.975, n) * sd / sqrt(n),
                  lower_ci = mean-ci, 
                  upper_ci = mean+ci,
                  min = min(Q10),
                  max = max(Q10))

# Round values
   q10_means <- q10_means %>% mutate_if(is.numeric, round, digit = 3)
   
# Display results
  q10_means %>% kbl(digits = 1, caption = "Thermal coefficent Q10") %>%  kable_classic()
Thermal coefficent Q10
Species Trait AcclimationTemperature_C Temp1 mean n sd ci lower_ci upper_ci min max
Jasus edwardsii AerobicScope 14.0 14.0 1.3 6 1.0 1.0 0.3 2.3 0.3 3.2
Jasus edwardsii AerobicScope 14.0 17.5 0.6 5 0.3 0.3 0.3 0.9 0.2 0.9
Jasus edwardsii AerobicScope 17.5 14.0 1.0 6 0.8 0.8 0.2 1.8 0.0 2.2
Jasus edwardsii AerobicScope 17.5 17.5 1.2 5 1.1 1.2 0.0 2.4 0.6 3.1
Jasus edwardsii AerobicScope 21.5 14.0 1.6 6 0.5 0.5 1.1 2.1 1.0 2.2
Jasus edwardsii AerobicScope 21.5 17.5 1.2 6 0.6 0.6 0.6 1.9 0.7 2.4
Jasus edwardsii AerobicScopeFactorial 14.0 14.0 0.7 6 0.6 0.6 0.1 1.2 0.1 1.4
Jasus edwardsii AerobicScopeFactorial 14.0 17.5 0.3 5 0.2 0.2 0.1 0.5 0.1 0.5
Jasus edwardsii AerobicScopeFactorial 17.5 14.0 0.6 6 0.7 0.7 -0.1 1.4 0.0 2.0
Jasus edwardsii AerobicScopeFactorial 17.5 17.5 0.5 5 0.5 0.5 -0.1 1.0 0.1 1.3
Jasus edwardsii AerobicScopeFactorial 21.5 14.0 0.8 6 0.8 0.8 0.0 1.6 0.0 1.9
Jasus edwardsii AerobicScopeFactorial 21.5 17.5 0.9 6 0.9 0.9 0.0 1.7 0.2 2.6
Jasus edwardsii as_50_recovery_time 14.0 14.0 2.0 2 2.6 7.9 -5.9 9.9 0.1 3.8
Jasus edwardsii as_50_recovery_time 14.0 17.5 0.9 4 0.6 0.8 0.1 1.7 0.6 1.8
Jasus edwardsii as_50_recovery_time 17.5 14.0 0.6 4 0.9 1.2 -0.6 1.8 0.1 1.9
Jasus edwardsii as_50_recovery_time 17.5 17.5 0.7 2 1.0 3.1 -2.4 3.8 0.0 1.4
Jasus edwardsii as_50_recovery_time 21.5 14.0 1.6 3 1.0 1.9 -0.3 3.5 1.0 2.8
Jasus edwardsii as_50_recovery_time 21.5 17.5 1.3 6 1.0 1.0 0.3 2.4 0.0 2.7
Jasus edwardsii EPOC 14.0 14.0 2.1 4 0.4 0.6 1.5 2.7 1.8 2.7
Jasus edwardsii EPOC 14.0 17.5 1.4 5 2.0 2.3 -0.9 3.7 0.4 4.9
Jasus edwardsii EPOC 17.5 14.0 1.0 6 1.4 1.4 -0.4 2.4 0.0 3.7
Jasus edwardsii EPOC 17.5 17.5 3.2 2 2.1 6.3 -3.0 9.5 1.8 4.7
Jasus edwardsii EPOC 21.5 14.0 4.1 2 0.7 2.0 2.0 6.1 3.6 4.5
Jasus edwardsii EPOC 21.5 17.5 0.7 6 0.3 0.3 0.4 1.1 0.1 1.0
Jasus edwardsii escape_speed_CLSec 14.0 14.0 1.2 6 0.6 0.6 0.5 1.8 0.5 2.0
Jasus edwardsii escape_speed_CLSec 14.0 17.5 1.0 5 0.4 0.5 0.5 1.5 0.6 1.4
Jasus edwardsii escape_speed_CLSec 17.5 14.0 1.3 6 0.9 0.9 0.4 2.2 0.3 2.8
Jasus edwardsii escape_speed_CLSec 17.5 17.5 1.4 6 0.8 0.8 0.7 2.2 NA NA
Jasus edwardsii escape_speed_CLSec 21.5 14.0 1.2 6 0.5 0.5 0.7 1.7 0.7 2.1
Jasus edwardsii escape_speed_CLSec 21.5 17.5 1.7 5 0.9 1.0 0.6 2.7 0.9 3.1
Jasus edwardsii escape_speed_CLSec_top10 14.0 14.0 1.1 6 0.7 0.7 0.4 1.8 0.4 2.2
Jasus edwardsii escape_speed_CLSec_top10 14.0 17.5 1.0 5 0.5 0.6 0.4 1.6 0.5 1.7
Jasus edwardsii escape_speed_CLSec_top10 17.5 14.0 1.3 6 0.8 0.8 0.5 2.1 0.5 2.5
Jasus edwardsii escape_speed_CLSec_top10 17.5 17.5 1.6 6 0.8 0.8 0.8 2.4 NA NA
Jasus edwardsii escape_speed_CLSec_top10 21.5 14.0 1.4 6 0.5 0.5 0.8 1.9 0.7 2.2
Jasus edwardsii escape_speed_CLSec_top10 21.5 17.5 1.4 5 0.8 0.9 0.5 2.3 0.6 2.6
Jasus edwardsii escape_speed_cmSec 14.0 14.0 1.2 6 0.6 0.6 0.5 1.8 0.5 2.0
Jasus edwardsii escape_speed_cmSec 14.0 17.5 1.0 5 0.4 0.5 0.5 1.5 0.6 1.4
Jasus edwardsii escape_speed_cmSec 17.5 14.0 1.3 6 0.9 0.9 0.4 2.2 0.3 2.8
Jasus edwardsii escape_speed_cmSec 17.5 17.5 1.4 6 0.8 0.8 0.7 2.2 NA NA
Jasus edwardsii escape_speed_cmSec 21.5 14.0 1.2 6 0.5 0.5 0.7 1.7 0.7 2.1
Jasus edwardsii escape_speed_cmSec 21.5 17.5 1.7 5 0.9 1.0 0.6 2.7 0.9 3.1
Jasus edwardsii escape_speed_cmSec_top10 14.0 14.0 1.1 6 0.7 0.7 0.4 1.8 0.4 2.2
Jasus edwardsii escape_speed_cmSec_top10 14.0 17.5 1.0 5 0.5 0.6 0.4 1.6 0.5 1.7
Jasus edwardsii escape_speed_cmSec_top10 17.5 14.0 1.3 6 0.8 0.8 0.5 2.1 0.5 2.5
Jasus edwardsii escape_speed_cmSec_top10 17.5 17.5 1.6 6 0.8 0.8 0.8 2.5 NA NA
Jasus edwardsii escape_speed_cmSec_top10 21.5 14.0 1.4 6 0.5 0.5 0.8 1.9 0.7 2.2
Jasus edwardsii escape_speed_cmSec_top10 21.5 17.5 1.4 5 0.8 0.9 0.5 2.3 0.6 2.6
Jasus edwardsii escape_total 14.0 14.0 1.0 4 0.7 1.0 0.1 2.0 0.3 1.8
Jasus edwardsii escape_total 14.0 17.5 0.5 5 0.4 0.5 0.0 1.0 0.0 1.2
Jasus edwardsii escape_total 17.5 14.0 0.5 5 0.5 0.6 -0.1 1.0 0.0 1.2
Jasus edwardsii escape_total 17.5 17.5 1.6 4 1.3 1.9 -0.2 3.5 0.4 3.4
Jasus edwardsii escape_total 21.5 14.0 1.5 3 0.4 0.8 0.8 2.3 1.2 2.0
Jasus edwardsii escape_total 21.5 17.5 1.1 5 0.9 1.1 0.1 2.2 0.4 2.6
Jasus edwardsii MMR 14.0 14.0 1.5 6 0.8 0.8 0.7 2.3 0.8 3.0
Jasus edwardsii MMR 14.0 17.5 1.0 5 0.3 0.3 0.7 1.3 0.7 1.3
Jasus edwardsii MMR 17.5 14.0 1.1 6 0.7 0.7 0.4 1.9 0.3 2.3
Jasus edwardsii MMR 17.5 17.5 1.8 6 1.0 1.0 0.8 2.9 0.9 3.4
Jasus edwardsii MMR 21.5 14.0 1.9 6 0.4 0.4 1.5 2.2 1.3 2.4
Jasus edwardsii MMR 21.5 17.5 1.4 6 0.3 0.3 1.1 1.6 1.0 1.7
Jasus edwardsii Recovery_Rate 14.0 14.0 1.6 6 0.6 0.6 1.0 2.1 0.6 2.1
Jasus edwardsii Recovery_Rate 14.0 17.5 0.8 5 0.4 0.4 0.3 1.2 0.2 1.3
Jasus edwardsii Recovery_Rate 17.5 14.0 0.8 6 0.5 0.5 0.3 1.3 0.2 1.6
Jasus edwardsii Recovery_Rate 17.5 17.5 2.3 4 1.3 1.8 0.5 4.1 0.9 3.6
Jasus edwardsii Recovery_Rate 21.5 14.0 2.5 5 1.3 1.5 1.0 3.9 0.8 4.1
Jasus edwardsii Recovery_Rate 21.5 17.5 1.8 6 1.6 1.6 0.2 3.4 0.5 4.8
Jasus edwardsii recovery_time 14.0 14.0 1.8 4 0.9 1.2 0.6 3.0 1.0 3.1
Jasus edwardsii recovery_time 14.0 17.5 1.5 5 1.4 1.6 -0.1 3.1 0.5 3.9
Jasus edwardsii recovery_time 17.5 14.0 0.7 5 0.8 0.9 -0.2 1.6 0.0 1.5
Jasus edwardsii recovery_time 17.5 17.5 1.6 4 1.2 1.7 -0.1 3.2 0.3 3.0
Jasus edwardsii recovery_time 21.5 14.0 2.9 3 1.5 2.8 0.1 5.6 1.8 4.6
Jasus edwardsii recovery_time 21.5 17.5 0.7 6 0.6 0.6 0.1 1.3 0.1 1.7
Jasus edwardsii RMR 14.0 14.0 2.3 5 1.3 1.5 0.8 3.8 1.0 4.4
Jasus edwardsii RMR 14.0 17.5 2.5 5 1.0 1.2 1.3 3.7 1.9 4.3
Jasus edwardsii RMR 17.5 14.0 2.7 6 1.1 1.1 1.6 3.9 1.3 4.6
Jasus edwardsii RMR 17.5 17.5 1.8 5 0.8 0.9 0.9 2.7 0.9 2.6
Jasus edwardsii RMR 21.5 14.0 2.0 5 0.6 0.7 1.3 2.7 1.4 2.8
Jasus edwardsii RMR 21.5 17.5 2.4 6 0.8 0.8 1.6 3.2 1.4 3.5
Jasus edwardsii SMR 14.0 14.0 2.2 4 1.3 1.8 0.4 4.1 1.2 4.1
Jasus edwardsii SMR 14.0 17.5 2.6 3 0.3 0.6 2.0 3.2 2.3 2.9
Jasus edwardsii SMR 17.5 14.0 2.5 4 1.9 2.6 -0.1 5.1 0.5 4.9
Jasus edwardsii SMR 17.5 17.5 2.5 5 1.4 1.6 1.0 4.1 0.7 3.9
Jasus edwardsii SMR 21.5 14.0 1.2 3 0.4 0.6 0.6 1.9 1.0 1.6
Jasus edwardsii SMR 21.5 17.5 2.2 5 1.2 1.4 0.8 3.5 0.7 3.4
Jasus edwardsii SMR_fraction 14.0 14.0 2.5 5 2.2 2.5 0.0 4.9 0.7 4.8
Jasus edwardsii SMR_fraction 14.0 17.5 2.4 3 0.4 0.8 1.6 3.2 2.1 2.9
Jasus edwardsii SMR_fraction 17.5 14.0 1.6 4 1.0 1.4 0.2 3.0 0.5 2.9
Jasus edwardsii SMR_fraction 17.5 17.5 2.2 5 1.8 2.1 0.1 4.3 0.2 4.4
Jasus edwardsii SMR_fraction 21.5 14.0 2.0 5 1.8 2.0 0.0 4.1 0.5 4.5
Jasus edwardsii SMR_fraction 21.5 17.5 1.5 5 0.8 0.9 0.6 2.5 0.4 2.4
Sagmariasus verreauxi AerobicScope 14.0 14.0 1.1 5 0.7 0.8 0.3 1.9 0.3 2.1
Sagmariasus verreauxi AerobicScope 14.0 17.5 0.8 6 0.4 0.4 0.4 1.2 0.1 1.3
Sagmariasus verreauxi AerobicScope 17.5 14.0 1.4 5 0.7 0.8 0.6 2.1 0.5 2.1
Sagmariasus verreauxi AerobicScope 17.5 17.5 1.2 6 0.5 0.5 0.7 1.7 0.7 2.1
Sagmariasus verreauxi AerobicScope 21.5 14.0 1.8 6 0.7 0.7 1.2 2.5 1.1 2.7
Sagmariasus verreauxi AerobicScope 21.5 17.5 1.3 6 0.5 0.5 0.9 1.8 0.9 1.8
Sagmariasus verreauxi AerobicScopeFactorial 14.0 14.0 0.3 5 0.1 0.1 0.2 0.4 0.1 0.4
Sagmariasus verreauxi AerobicScopeFactorial 14.0 17.5 0.6 6 0.4 0.4 0.2 0.9 0.2 1.1
Sagmariasus verreauxi AerobicScopeFactorial 17.5 14.0 0.7 5 0.5 0.6 0.0 1.3 0.1 1.3
Sagmariasus verreauxi AerobicScopeFactorial 17.5 17.5 0.6 6 0.6 0.6 0.0 1.2 0.2 1.8
Sagmariasus verreauxi AerobicScopeFactorial 21.5 14.0 0.8 6 0.4 0.4 0.4 1.2 0.5 1.4
Sagmariasus verreauxi AerobicScopeFactorial 21.5 17.5 0.5 6 0.3 0.3 0.2 0.7 0.2 0.9
Sagmariasus verreauxi as_50_recovery_time 14.0 14.0 1.4 2 1.9 5.7 -4.3 7.1 0.1 2.7
Sagmariasus verreauxi as_50_recovery_time 14.0 17.5 0.7 5 0.6 0.7 0.0 1.4 0.1 1.6
Sagmariasus verreauxi as_50_recovery_time 17.5 14.0 1.2 4 1.4 1.9 -0.7 3.1 0.1 3.2
Sagmariasus verreauxi as_50_recovery_time 17.5 17.5 0.5 2 0.5 1.6 -1.1 2.1 0.1 0.9
Sagmariasus verreauxi as_50_recovery_time 21.5 14.0 1.6 5 1.5 1.7 0.0 3.3 0.4 4.1
Sagmariasus verreauxi as_50_recovery_time 21.5 17.5 1.5 2 0.1 0.2 1.3 1.7 1.5 1.6
Sagmariasus verreauxi EPOC 14.0 14.0 2.1 4 1.9 2.6 -0.5 4.7 0.8 4.8
Sagmariasus verreauxi EPOC 14.0 17.5 1.9 6 1.6 1.6 0.3 3.4 0.3 4.0
Sagmariasus verreauxi EPOC 17.5 14.0 0.9 3 0.4 0.8 0.1 1.6 0.6 1.3
Sagmariasus verreauxi EPOC 17.5 17.5 1.9 6 1.1 1.1 0.8 3.1 0.1 3.3
Sagmariasus verreauxi EPOC 21.5 14.0 0.7 3 0.4 0.7 0.0 1.4 0.3 1.0
Sagmariasus verreauxi EPOC 21.5 17.5 2.5 5 1.5 1.7 0.8 4.2 0.5 4.3
Sagmariasus verreauxi escape_speed_CLSec 14.0 14.0 0.7 5 0.4 0.4 0.3 1.2 0.4 1.3
Sagmariasus verreauxi escape_speed_CLSec 14.0 17.5 1.5 4 0.3 0.4 1.0 1.9 1.1 1.9
Sagmariasus verreauxi escape_speed_CLSec 17.5 14.0 1.5 5 0.6 0.6 0.9 2.1 NA NA
Sagmariasus verreauxi escape_speed_CLSec 17.5 17.5 1.2 6 0.4 0.4 0.7 1.6 NA NA
Sagmariasus verreauxi escape_speed_CLSec 21.5 14.0 1.3 5 0.5 0.5 0.8 1.9 0.8 2.0
Sagmariasus verreauxi escape_speed_CLSec 21.5 17.5 1.4 6 0.5 0.5 0.9 1.9 0.9 2.3
Sagmariasus verreauxi escape_speed_CLSec_top10 14.0 14.0 0.7 5 0.3 0.4 0.3 1.1 0.3 1.3
Sagmariasus verreauxi escape_speed_CLSec_top10 14.0 17.5 1.6 4 0.5 0.6 0.9 2.2 1.2 2.2
Sagmariasus verreauxi escape_speed_CLSec_top10 17.5 14.0 1.9 5 0.9 1.0 0.9 2.8 NA NA
Sagmariasus verreauxi escape_speed_CLSec_top10 17.5 17.5 1.1 6 0.5 0.5 0.6 1.6 NA NA
Sagmariasus verreauxi escape_speed_CLSec_top10 21.5 14.0 1.4 5 0.6 0.7 0.7 2.0 0.6 1.9
Sagmariasus verreauxi escape_speed_CLSec_top10 21.5 17.5 1.4 6 0.4 0.4 1.0 1.8 1.0 2.1
Sagmariasus verreauxi escape_speed_cmSec 14.0 14.0 0.8 5 0.4 0.4 0.3 1.2 0.4 1.4
Sagmariasus verreauxi escape_speed_cmSec 14.0 17.5 1.5 4 0.3 0.4 1.0 1.9 1.1 1.9
Sagmariasus verreauxi escape_speed_cmSec 17.5 14.0 1.5 5 0.6 0.6 0.9 2.1 NA NA
Sagmariasus verreauxi escape_speed_cmSec 17.5 17.5 1.2 6 0.4 0.4 0.7 1.6 NA NA
Sagmariasus verreauxi escape_speed_cmSec 21.5 14.0 1.3 5 0.5 0.5 0.8 1.9 0.8 2.0
Sagmariasus verreauxi escape_speed_cmSec 21.5 17.5 1.4 6 0.5 0.5 0.9 1.9 0.9 2.3
Sagmariasus verreauxi escape_speed_cmSec_top10 14.0 14.0 0.7 5 0.4 0.4 0.3 1.1 0.3 1.3
Sagmariasus verreauxi escape_speed_cmSec_top10 14.0 17.5 1.6 4 0.5 0.6 0.9 2.2 1.2 2.2
Sagmariasus verreauxi escape_speed_cmSec_top10 17.5 14.0 1.9 5 0.9 1.0 0.9 2.8 NA NA
Sagmariasus verreauxi escape_speed_cmSec_top10 17.5 17.5 1.1 6 0.5 0.5 0.6 1.6 NA NA
Sagmariasus verreauxi escape_speed_cmSec_top10 21.5 14.0 1.4 5 0.6 0.7 0.7 2.0 0.6 1.9
Sagmariasus verreauxi escape_speed_cmSec_top10 21.5 17.5 1.4 6 0.4 0.4 1.0 1.8 1.0 2.1
Sagmariasus verreauxi escape_total 14.0 14.0 1.7 5 1.5 1.8 -0.1 3.4 0.2 3.9
Sagmariasus verreauxi escape_total 14.0 17.5 0.4 4 0.2 0.3 0.1 0.6 0.1 0.5
Sagmariasus verreauxi escape_total 17.5 14.0 1.5 5 0.7 0.8 0.7 2.3 0.6 2.3
Sagmariasus verreauxi escape_total 17.5 17.5 0.6 6 0.4 0.4 0.3 1.0 0.1 1.1
Sagmariasus verreauxi escape_total 21.5 14.0 1.9 5 1.4 1.6 0.3 3.4 0.5 3.7
Sagmariasus verreauxi escape_total 21.5 17.5 1.4 6 1.4 1.4 0.0 2.7 0.3 3.6
Sagmariasus verreauxi MMR 14.0 14.0 1.6 5 0.8 0.9 0.7 2.5 1.0 3.0
Sagmariasus verreauxi MMR 14.0 17.5 1.2 6 0.1 0.1 1.1 1.3 1.1 1.3
Sagmariasus verreauxi MMR 17.5 14.0 1.5 5 0.5 0.5 1.0 2.1 1.1 2.2
Sagmariasus verreauxi MMR 17.5 17.5 1.4 6 0.3 0.3 1.1 1.7 1.0 1.7
Sagmariasus verreauxi MMR 21.5 14.0 1.9 6 0.5 0.5 1.3 2.4 1.2 2.5
Sagmariasus verreauxi MMR 21.5 17.5 1.6 6 0.4 0.4 1.2 2.0 1.2 2.1
Sagmariasus verreauxi Recovery_Rate 14.0 14.0 1.7 5 1.4 1.6 0.1 3.3 0.2 3.9
Sagmariasus verreauxi Recovery_Rate 14.0 17.5 0.7 6 0.5 0.5 0.2 1.3 0.1 1.5
Sagmariasus verreauxi Recovery_Rate 17.5 14.0 2.0 5 1.2 1.3 0.6 3.3 0.5 3.0
Sagmariasus verreauxi Recovery_Rate 17.5 17.5 1.5 6 0.8 0.8 0.7 2.4 0.4 2.9
Sagmariasus verreauxi Recovery_Rate 21.5 14.0 2.4 6 1.0 1.0 1.4 3.4 1.1 3.6
Sagmariasus verreauxi Recovery_Rate 21.5 17.5 1.9 6 0.4 0.4 1.5 2.2 1.4 2.3
Sagmariasus verreauxi recovery_time 14.0 14.0 2.1 4 1.4 1.9 0.2 4.0 0.7 3.9
Sagmariasus verreauxi recovery_time 14.0 17.5 1.5 4 0.9 1.3 0.2 2.8 0.7 2.7
Sagmariasus verreauxi recovery_time 17.5 14.0 0.9 4 0.9 1.3 -0.4 2.2 0.2 2.3
Sagmariasus verreauxi recovery_time 17.5 17.5 1.1 5 0.8 0.9 0.2 1.9 0.1 2.2
Sagmariasus verreauxi recovery_time 21.5 14.0 1.1 5 1.2 1.4 -0.3 2.6 0.2 3.2
Sagmariasus verreauxi recovery_time 21.5 17.5 1.4 5 0.9 1.0 0.4 2.4 0.3 2.4
Sagmariasus verreauxi RMR 14.0 14.0 2.9 4 1.3 1.8 1.1 4.7 1.7 4.1
Sagmariasus verreauxi RMR 14.0 17.5 1.7 5 0.7 0.8 0.9 2.4 1.3 2.8
Sagmariasus verreauxi RMR 17.5 14.0 2.6 4 0.9 1.3 1.3 3.9 1.3 3.5
Sagmariasus verreauxi RMR 17.5 17.5 2.2 6 0.2 0.2 1.9 2.4 1.8 2.3
Sagmariasus verreauxi RMR 21.5 14.0 2.3 6 1.0 1.0 1.3 3.2 0.9 3.5
Sagmariasus verreauxi RMR 21.5 17.5 2.7 5 1.3 1.5 1.2 4.1 1.6 4.5
Sagmariasus verreauxi SMR 14.0 14.0 3.8 3 0.3 0.6 3.2 4.4 3.5 4.2
Sagmariasus verreauxi SMR 14.0 17.5 2.3 5 1.3 1.5 0.9 3.8 1.2 4.1
Sagmariasus verreauxi SMR 17.5 14.0 2.1 3 1.3 2.4 -0.4 4.5 1.2 3.6
Sagmariasus verreauxi SMR 17.5 17.5 2.9 5 1.6 1.9 1.1 4.8 0.9 4.8
Sagmariasus verreauxi SMR 21.5 14.0 2.5 6 0.7 0.7 1.8 3.2 1.7 3.5
Sagmariasus verreauxi SMR 21.5 17.5 3.2 4 1.0 1.3 1.9 4.5 2.1 4.3
Sagmariasus verreauxi SMR_fraction 14.0 14.0 3.5 4 1.0 1.3 2.1 4.8 2.8 4.8
Sagmariasus verreauxi SMR_fraction 14.0 17.5 2.0 5 1.1 1.2 0.7 3.2 0.9 3.3
Sagmariasus verreauxi SMR_fraction 17.5 14.0 1.1 3 0.4 0.8 0.3 1.9 0.8 1.6
Sagmariasus verreauxi SMR_fraction 17.5 17.5 2.3 5 1.4 1.6 0.7 3.9 0.6 4.3
Sagmariasus verreauxi SMR_fraction 21.5 14.0 1.5 6 0.6 0.6 0.8 2.1 0.7 2.2
Sagmariasus verreauxi SMR_fraction 21.5 17.5 2.4 5 1.3 1.5 0.9 4.0 1.1 4.4

5B. Calculate descriptive statistics for Q10 without 17.5 experimental temperature

# Remove outliers
  outliers <- boxplot(q10_all_no17$Q10, plot = FALSE)$out
  q10_all_no17_noOutliers <- q10_all_no17[-which(q10_all_no17$Q10 %in% outliers),]

# Calculate summary statistics
  q10_means_no17 <- ddply(q10_all_no17_noOutliers, c("Species", "Trait", "AcclimationTemperature_C", "Temp1"), summarise,
                  mean = mean(Q10, na.rm = TRUE),
                  n = length(Q10),
                  sd = sd(Q10, na.rm = TRUE),
                  ci = qt(0.975, n) * sd / sqrt(n),
                  lower_ci = mean-ci, 
                  upper_ci = mean+ci,
                  min = min(Q10),
                  max = max(Q10))

# Round values
   q10_means_no17 <- q10_means_no17 %>% mutate_if(is.numeric, round, digit = 3)
   
# Display results
  q10_means_no17 %>% kbl(digits = 1, caption = "Thermal coefficent Q10") %>%  kable_classic()
Thermal coefficent Q10
Species Trait AcclimationTemperature_C Temp1 mean n sd ci lower_ci upper_ci min max
Jasus edwardsii AerobicScope 14.0 14 0.8 5 0.3 0.4 0.4 1.2 0.4 1.4
Jasus edwardsii AerobicScope 17.5 14 0.9 6 0.2 0.2 0.8 1.1 0.7 1.1
Jasus edwardsii AerobicScope 21.5 14 1.3 6 0.3 0.3 1.0 1.6 0.9 1.7
Jasus edwardsii AerobicScopeFactorial 14.0 14 0.4 5 0.2 0.2 0.2 0.6 0.3 0.7
Jasus edwardsii AerobicScopeFactorial 17.5 14 0.4 6 0.0 0.0 0.3 0.4 0.3 0.4
Jasus edwardsii AerobicScopeFactorial 21.5 14 0.6 6 0.3 0.3 0.3 0.9 0.2 1.0
Jasus edwardsii as_50_recovery_time 14.0 14 1.9 3 0.9 1.6 0.3 3.5 1.3 2.9
Jasus edwardsii as_50_recovery_time 17.5 14 1.4 3 1.2 2.3 -0.9 3.7 0.0 2.3
Jasus edwardsii as_50_recovery_time 21.5 14 2.2 4 1.2 1.7 0.5 3.9 1.0 3.6
Jasus edwardsii EPOC 14.0 14 2.0 5 1.0 1.2 0.8 3.2 0.9 3.3
Jasus edwardsii EPOC 17.5 14 1.7 5 0.5 0.6 1.1 2.3 0.9 2.3
Jasus edwardsii EPOC 21.5 14 2.5 4 1.0 1.4 1.1 3.9 1.8 4.0
Jasus edwardsii escape_speed_CLSec 14.0 14 1.0 5 0.4 0.5 0.5 1.5 0.6 1.7
Jasus edwardsii escape_speed_CLSec 17.5 14 1.3 6 0.1 0.1 1.2 1.4 NA NA
Jasus edwardsii escape_speed_CLSec 21.5 14 1.3 6 0.3 0.3 1.0 1.6 0.9 1.8
Jasus edwardsii escape_speed_CLSec_top10 14.0 14 0.9 5 0.4 0.5 0.4 1.4 0.5 1.5
Jasus edwardsii escape_speed_CLSec_top10 17.5 14 1.4 6 0.1 0.1 1.3 1.5 NA NA
Jasus edwardsii escape_speed_CLSec_top10 21.5 14 1.3 6 0.3 0.3 1.0 1.6 0.9 1.8
Jasus edwardsii escape_speed_cmSec 14.0 14 1.0 5 0.4 0.5 0.5 1.5 0.6 1.7
Jasus edwardsii escape_speed_cmSec 17.5 14 1.3 6 0.1 0.1 1.2 1.4 NA NA
Jasus edwardsii escape_speed_cmSec 21.5 14 1.3 6 0.3 0.3 1.0 1.6 0.9 1.8
Jasus edwardsii escape_speed_cmSec_top10 14.0 14 0.9 5 0.4 0.5 0.4 1.4 0.5 1.5
Jasus edwardsii escape_speed_cmSec_top10 17.5 14 1.4 6 0.1 0.1 1.3 1.5 NA NA
Jasus edwardsii escape_speed_cmSec_top10 21.5 14 1.3 6 0.3 0.3 1.0 1.6 0.9 1.8
Jasus edwardsii escape_total 14.0 14 1.5 5 1.4 1.6 -0.1 3.1 0.1 3.6
Jasus edwardsii escape_total 17.5 14 1.2 6 0.2 0.2 1.0 1.4 1.0 1.5
Jasus edwardsii escape_total 21.5 14 2.1 6 1.2 1.2 0.9 3.3 0.7 3.7
Jasus edwardsii MMR 14.0 14 1.2 5 0.2 0.3 1.0 1.5 0.9 1.6
Jasus edwardsii MMR 17.5 14 1.3 6 0.2 0.2 1.1 1.4 1.0 1.4
Jasus edwardsii MMR 21.5 14 1.6 6 0.2 0.2 1.3 1.8 1.4 2.0
Jasus edwardsii Recovery_Rate 14.0 14 1.1 5 0.4 0.4 0.7 1.5 0.6 1.6
Jasus edwardsii Recovery_Rate 17.5 14 1.6 6 0.4 0.4 1.2 1.9 0.9 2.0
Jasus edwardsii Recovery_Rate 21.5 14 2.0 6 0.8 0.8 1.2 2.8 1.1 3.1
Jasus edwardsii recovery_time 14.0 14 1.7 5 0.5 0.6 1.2 2.3 1.1 2.3
Jasus edwardsii recovery_time 17.5 14 1.4 6 0.5 0.5 0.8 1.9 0.6 2.1
Jasus edwardsii recovery_time 21.5 14 1.7 6 0.7 0.7 1.0 2.3 0.8 2.9
Jasus edwardsii RMR 14.0 14 2.3 5 0.4 0.5 1.8 2.8 1.9 3.0
Jasus edwardsii RMR 17.5 14 2.3 6 0.5 0.5 1.8 2.8 1.9 3.2
Jasus edwardsii RMR 21.5 14 2.4 6 0.5 0.5 1.8 2.9 1.9 3.2
Jasus edwardsii SMR 14.0 14 2.8 3 0.6 1.0 1.8 3.8 2.4 3.4
Jasus edwardsii SMR 17.5 14 3.1 5 0.3 0.4 2.8 3.5 2.8 3.6
Jasus edwardsii SMR 21.5 14 2.1 4 0.4 0.6 1.5 2.7 1.7 2.6
Jasus edwardsii SMR_fraction 14.0 14 2.8 5 0.8 0.9 1.9 3.7 1.5 3.6
Jasus edwardsii SMR_fraction 17.5 14 2.6 6 0.3 0.3 2.4 2.9 2.3 3.1
Jasus edwardsii SMR_fraction 21.5 14 1.8 5 0.8 0.9 0.9 2.7 1.1 3.0
Sagmariasus verreauxi AerobicScope 14.0 14 0.9 5 0.5 0.6 0.3 1.5 0.2 1.5
Sagmariasus verreauxi AerobicScope 17.5 14 1.2 5 0.2 0.3 0.9 1.5 0.9 1.5
Sagmariasus verreauxi AerobicScope 21.5 14 1.5 6 0.4 0.4 1.1 1.9 1.0 2.1
Sagmariasus verreauxi AerobicScopeFactorial 14.0 14 0.4 5 0.2 0.2 0.2 0.6 0.2 0.6
Sagmariasus verreauxi AerobicScopeFactorial 17.5 14 0.5 5 0.2 0.3 0.2 0.8 0.3 0.8
Sagmariasus verreauxi AerobicScopeFactorial 21.5 14 0.6 6 0.2 0.2 0.4 0.8 0.3 0.8
Sagmariasus verreauxi as_50_recovery_time 14.0 14 1.6 3 2.1 3.8 -2.1 5.4 0.3 4.0
Sagmariasus verreauxi as_50_recovery_time 17.5 14 2.6 4 0.3 0.4 2.2 3.1 2.2 2.8
Sagmariasus verreauxi as_50_recovery_time 21.5 14 1.7 3 1.3 2.4 -0.7 4.1 0.8 3.2
Sagmariasus verreauxi EPOC 14.0 14 1.4 4 0.4 0.6 0.7 2.0 1.0 1.9
Sagmariasus verreauxi EPOC 17.5 14 1.6 5 0.7 0.8 0.8 2.4 0.7 2.6
Sagmariasus verreauxi EPOC 21.5 14 2.4 4 1.7 2.3 0.0 4.7 0.6 3.8
Sagmariasus verreauxi escape_speed_CLSec 14.0 14 1.0 5 0.2 0.3 0.8 1.3 0.7 1.3
Sagmariasus verreauxi escape_speed_CLSec 17.5 14 1.1 5 0.2 0.3 0.8 1.3 0.7 1.3
Sagmariasus verreauxi escape_speed_CLSec 21.5 14 1.3 5 0.3 0.4 1.0 1.7 1.0 1.7
Sagmariasus verreauxi escape_speed_CLSec_top10 14.0 14 1.0 5 0.2 0.3 0.7 1.3 0.7 1.3
Sagmariasus verreauxi escape_speed_CLSec_top10 17.5 14 1.1 5 0.2 0.2 0.9 1.4 0.8 1.4
Sagmariasus verreauxi escape_speed_CLSec_top10 21.5 14 1.4 5 0.4 0.5 0.9 1.9 0.9 2.0
Sagmariasus verreauxi escape_speed_cmSec 14.0 14 1.0 5 0.3 0.3 0.8 1.3 0.7 1.4
Sagmariasus verreauxi escape_speed_cmSec 17.5 14 1.1 5 0.2 0.3 0.8 1.3 0.7 1.3
Sagmariasus verreauxi escape_speed_cmSec 21.5 14 1.3 5 0.3 0.4 1.0 1.7 1.0 1.7
Sagmariasus verreauxi escape_speed_cmSec_top10 14.0 14 1.0 5 0.3 0.3 0.7 1.3 0.7 1.3
Sagmariasus verreauxi escape_speed_cmSec_top10 17.5 14 1.1 5 0.2 0.2 0.9 1.4 0.8 1.4
Sagmariasus verreauxi escape_speed_cmSec_top10 21.5 14 1.4 5 0.4 0.5 0.9 1.9 0.9 2.0
Sagmariasus verreauxi escape_total 14.0 14 0.7 5 0.5 0.6 0.1 1.3 0.2 1.3
Sagmariasus verreauxi escape_total 17.5 14 0.8 5 0.3 0.4 0.5 1.2 0.4 1.2
Sagmariasus verreauxi escape_total 21.5 14 1.0 5 0.3 0.4 0.7 1.4 0.7 1.4
Sagmariasus verreauxi MMR 14.0 14 1.3 5 0.3 0.4 0.9 1.7 1.1 1.9
Sagmariasus verreauxi MMR 17.5 14 1.4 5 0.2 0.2 1.2 1.6 1.1 1.6
Sagmariasus verreauxi MMR 21.5 14 1.7 6 0.4 0.4 1.4 2.1 1.3 2.2
Sagmariasus verreauxi Recovery_Rate 14.0 14 1.0 5 0.7 0.8 0.2 1.8 0.3 2.0
Sagmariasus verreauxi Recovery_Rate 17.5 14 1.8 5 0.8 0.9 0.9 2.7 0.9 2.9
Sagmariasus verreauxi Recovery_Rate 21.5 14 2.1 6 0.5 0.5 1.5 2.6 1.5 2.8
Sagmariasus verreauxi recovery_time 14.0 14 1.6 3 0.8 1.5 0.1 3.1 1.1 2.6
Sagmariasus verreauxi recovery_time 17.5 14 0.9 5 0.3 0.3 0.6 1.2 0.5 1.2
Sagmariasus verreauxi recovery_time 21.5 14 1.8 6 1.1 1.1 0.7 2.8 0.3 3.2
Sagmariasus verreauxi RMR 14.0 14 2.2 5 0.4 0.5 1.7 2.7 1.5 2.6
Sagmariasus verreauxi RMR 17.5 14 2.6 5 0.6 0.7 1.9 3.3 1.8 3.5
Sagmariasus verreauxi RMR 21.5 14 2.6 6 0.9 0.9 1.6 3.5 1.2 3.8
Sagmariasus verreauxi SMR 14.0 14 2.1 2 0.2 0.5 1.6 2.6 2.0 2.2
Sagmariasus verreauxi SMR 17.5 14 2.9 4 0.9 1.3 1.6 4.1 1.9 4.0
Sagmariasus verreauxi SMR 21.5 14 2.9 5 0.3 0.3 2.6 3.3 2.5 3.2
Sagmariasus verreauxi SMR_fraction 14.0 14 2.0 3 0.4 0.8 1.2 2.8 1.7 2.5
Sagmariasus verreauxi SMR_fraction 17.5 14 2.3 5 1.0 1.2 1.1 3.5 1.2 3.9
Sagmariasus verreauxi SMR_fraction 21.5 14 2.0 6 0.9 0.9 1.1 3.0 1.3 3.8

6. Save results

# All q10
  write.csv(q10_all, paste(save_path, "Q10.csv", sep = ""))

# Q10 without outliers
  write.csv(q10_all_noOutliers, paste(save_path, "Q10_outliers.csv", sep = ""))
  
# Q10 means
  write.csv(q10_means, paste(save_path, "Q10_means.csv", sep = ""))

  
# All q10 without 17.5 experimental temperature
  write.csv(q10_all_no17, paste(save_path, "Q10_no17C.csv", sep = ""))

# Q10 without outliers without 17.5 experimental temperature
  write.csv(q10_all_no17_noOutliers, paste(save_path, "Q10_outliers_no17C.csv", sep = ""))
  
# Q10 means without 17.5 experimental temperature
  write.csv(q10_means_no17, paste(save_path, "Q10_means.csv_no17C.csv", sep = ""))
  
# Q10 values based on data means
  write.csv(q10_means_all, paste(save_path, "Q10_data_means_no17C.csv", sep = ""))

7A. Display results for MMR, SMR and Aerobic scope only

# Select traits for display
  trait_display <- c("SMR", "MMR", "AerobicScope")

# Filter traits
  sub_q10 <- q10_means_no17 %>% filter(Trait %in% trait_display)
  
# Remove unneeded columns
  sub_q10 <- sub_q10[, c(1:3,5,9:10)]

# Display table
  sub_q10 %>% kbl(digits = 1, caption = "Thermal coefficent Q10") %>%  kable_classic()
Thermal coefficent Q10
Species Trait AcclimationTemperature_C mean lower_ci upper_ci
Jasus edwardsii AerobicScope 14.0 0.8 0.4 1.2
Jasus edwardsii AerobicScope 17.5 0.9 0.8 1.1
Jasus edwardsii AerobicScope 21.5 1.3 1.0 1.6
Jasus edwardsii MMR 14.0 1.2 1.0 1.5
Jasus edwardsii MMR 17.5 1.3 1.1 1.4
Jasus edwardsii MMR 21.5 1.6 1.3 1.8
Jasus edwardsii SMR 14.0 2.8 1.8 3.8
Jasus edwardsii SMR 17.5 3.1 2.8 3.5
Jasus edwardsii SMR 21.5 2.1 1.5 2.7
Sagmariasus verreauxi AerobicScope 14.0 0.9 0.3 1.5
Sagmariasus verreauxi AerobicScope 17.5 1.2 0.9 1.5
Sagmariasus verreauxi AerobicScope 21.5 1.5 1.1 1.9
Sagmariasus verreauxi MMR 14.0 1.3 0.9 1.7
Sagmariasus verreauxi MMR 17.5 1.4 1.2 1.6
Sagmariasus verreauxi MMR 21.5 1.7 1.4 2.1
Sagmariasus verreauxi SMR 14.0 2.1 1.6 2.6
Sagmariasus verreauxi SMR 17.5 2.9 1.6 4.1
Sagmariasus verreauxi SMR 21.5 2.9 2.6 3.3

7B. Display results for MMR, SMR and Aerobic scope only based on data means

# Select traits for display
  trait_display <- c("SMR", "MMR", "AerobicScope")

# Filter traits
  sub_q10 <- q10_means_all %>% filter(Trait %in% trait_display)
  
# Remove unneeded columns
  sub_q10 <- sub_q10[, c(1:4)]
  names(sub_q10)
## [1] "Species"                  "AcclimationTemperature_C"
## [3] "Trait"                    "Q10"
# Transform to wide format
  sub_q10 <- spread(sub_q10, AcclimationTemperature_C, Q10)
  
# Re-order
  sub_q10 <- sub_q10[with(sub_q10, order(Species, Trait, decreasing = TRUE)),]
  

# Display table
  sub_q10 %>% kbl(digits = 1, caption = "Thermal coefficent Q10") %>%  kable_classic()
Thermal coefficent Q10
Species Trait 14 17.5 21.5
6 Sagmariasus verreauxi SMR 3.7 3.1 3.2
5 Sagmariasus verreauxi MMR 1.4 1.5 1.7
4 Sagmariasus verreauxi AerobicScope 1.0 1.2 1.4
3 Jasus edwardsii SMR 3.3 3.3 2.7
2 Jasus edwardsii MMR 1.3 1.2 1.6
1 Jasus edwardsii AerobicScope 0.9 0.9 1.3