How does temperature sensitivity (temperature class) relate to the time investment required to harvest crops?

# View structure
glimpse(data)
## Rows: 140
## Columns: 20
## $ taxonomic_name          <chr> "Pisum sativum", "Phaseolus coccineus", "Phase…
## $ common_name             <chr> "Pea", "Beans (Runner)", "Beans (French)", "Be…
## $ cultivation             <chr> "Legume", "Legume", "Legume", "Legume", "Legum…
## $ sunlight                <chr> "Full sun", "Full sun", "Full sun", "Full sun/…
## $ water                   <chr> "Very High", "Medium", "Medium", "Very Low", "…
## $ preferred_ph_lower      <dbl> 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 6.0, 5.5, 6.0, 5…
## $ preferred_ph_upper      <dbl> 7.5, 6.8, 7.5, 7.0, 7.5, 7.5, 7.5, 7.5, 7.5, 7…
## $ nutrients               <chr> "Medium", "Medium", "Medium", "Medium", "High"…
## $ soil                    <chr> "Loamy", "Loamy and clay", "Any well-drained a…
## $ season                  <chr> "Annual", "Annual", "Annual", "Annual", "bienn…
## $ temperature_class       <chr> "Half hardy", "Tender", "Tender", "Hardy", "Ha…
## $ temperature_germination <chr> "24", "26", "26", "10", "26", "30", "26", "26"…
## $ temperature_growing     <chr> "4-24", "16-30", "16-30", "8-15", "7-30", "7-3…
## $ days_germination        <chr> "6", "7", "7", "7", "4", "4", "4", "5", "4", "…
## $ days_harvest            <chr> "55-75", "65-85", "40-55", "85-115", "55-85", …
## $ nutritional_info        <chr> "A good source of vitamin K, manganese, and di…
## $ energy                  <dbl> 80, 27, 27, 88, 25, 34, 35, 31, 50, NA, NA, NA…
## $ sensitivities           <chr> "Drought intolerant", "Drought intolerant", "D…
## $ description             <chr> "The pea is the small spherical seed, or the s…
## $ requirements            <chr> "Require a sunny, nutrient-rich, moisture-rete…
# Check unique temperature classes
unique(data$temperature_class)
## [1] "Half hardy"  "Tender"      "Hardy"       "Very hardy"  "Very hard"  
## [6] "Very tender"
# Check unique temperature classes after cleaning
unique(data_clean$temperature_class)
## [1] Half hardy Tender     Hardy      Very hardy
## Levels: Very hardy < Hardy < Half hardy < Tender < Very tender

Summary Statistics

## 
## === Data Summary ===
## Total plants after cleaning: 81
## 
## Plants per temperature class:
## 
##  Very hardy       Hardy  Half hardy      Tender Very tender 
##          15          22          12          32           0
## 
## Harvest time summary by temperature class:
## # A tibble: 4 × 6
##   temperature_class     n mean_days median_days min_days max_days
##   <ord>             <int>     <dbl>       <dbl>    <dbl>    <dbl>
## 1 Very hardy           15      73.7        60       37.5      130
## 2 Hardy                22      91.2        85       35.5      180
## 3 Half hardy           12      81.5        73.8     37.5      120
## 4 Tender               32      81.5        75        9        240

Visualizations

1: BOXPLOT

2: VIOLIN PLOT

## Warning: The `draw_quantiles` argument of `geom_violin()` is deprecated as of ggplot2
## 4.0.0.
## ℹ Please use the `quantiles.linetype` argument instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

3: GROUPED BAR CHART (Mean and Median)

4: STRIP PLOT WITH JITTER

5: SCATTER PLOT (Germination Temp vs Harvest Days)

## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once per session.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `geom_smooth()` using formula = 'y ~ x'

## `geom_smooth()` using formula = 'y ~ x'

6: FACETED HISTOGRAM

COMBINED SUMMARY VISUALIZATION