Introduction

          Weather is a critical factor influencing bee activity and honey production. Bee flight can be directly obstructed by humidity, wind, and extreme temperatures. According to Vincze et al. (2024), bees’ foraging behavior are influenced by both long-term and short-term weather changes: via changes in temperature, humidity, radiation, and windiness (short-term), as well as plants’ biological reactions to weather in the form of altering their flowering patterns and nectar production (long-term). Here, I am using bees’ foraging behavior as a proxy of pollination events, since both involve bees landing from flower to flower. Their study found that bees will generally fly within a temperature range of 10-40°C, with optimal foraging efficiency between 20°C and 30°C. in a moist, mid-day humidity of 50% to 70%.

          Additionally. in conditions of low humidity, high temperatures, gusty winds, and/or closed ventilation, pollinators like the bumblebee become less active and find flowers less attractive; large, hairy, dark-colored pollinators like the bumblebee are also prone to overheating in direct sunlight. (Dol & Huvermann, 2020) These information suggest short-term changes in humidity and temperature to be an important factor in determining the pollination behaviors of bees.

         The objective of my study is to investigate the effects of short-term (daily) humidity on the number of bees observed at Mount Holyoke College. In my investigation, I used pollinator data collected by Mount Holyoke ecology students in 2022, 2023, and 2025. The data were collected in a consistent site over the three years: an unshaded planted strip near multiple large buildings and a heavily trafficked pedestrian walkway. (See “Methods” section for a more detailed description of how the sample collections were conducted.)

          At the time the 2025 data collections were conducted, western Massachusetts is experiencing a Level 2 significant drought event. The daily humidity levels from 09/08/2025 to 09/11/2025 are all from 40%-50% and average out to be 43%, which is 15% lower than the average daily humidity in early-mid September of 2022 and 2023. Inspired by the observable humidity and temperature differences, I hypothesize that on days with lower humidity and higher temperatures, the count of observed bees will be lower than on days with humidities and temperatures more suitable for bee foraging; in other words, on days closer to the 20°C - 30°C, 50% - 70% range, we might observe a higher instance of pollination from bees.

          Referencing the Pollination Parameters Table from Dol & Huvermann (2020), I will be grouping all data from 2022, 2023, and 2025 into two groups—Optimal Pollination Range (OPR) and Non-optimal Pollination Range (NPR)—by their daily humidity levels and temperatures—and statistically compare the two groups with a two-sample t-test. I chose my thresholds for non-optimal (too-high or too-low) humidity and temperature based on Dol & Huvermann (2020)‘s report because according to them, humidity above 85% in semi-ventilated greenhouses can begin to impede pollinator activities. This aligns with the findings of Vincze et al. (2024), which state that nectar collection is optimal in ’moist’ weather conditions.

Methods

          Parts of the data I used in my investigation were collected by my classmates and I on afternoons between 09-08-2025 to 09-11-2025. All data included in this study were collected from the same strip of garden in early to mid-September by Ecology Lab students. In groups of two, we were each assigned a plot to collect three samples of pollinator counts over five minutes in a 0.5m*0.5m quadrat. Every time a pollinator lands on a different flower in our quadrat, we count it as one pollination event. This means that if a pollinator lands on a leaf/stem or if it immediately re-landed on the same flower, we do not count it as a separate pollination event. Along with the pollination counts, we also recorded the temperature, humidity, windiness, and other confounding variables such as crowd traffic that might impact our data.

          As I have stated in the “Introduction” section, I will analyze my data by grouping all samples from 2022, 2023, and 2025 into two groups: Non-optimal Pollination range (NPR) and Optimal Pollination Range (OP4R), according to the recorded humidity and temperature on that day. (See Figure 1 below.)

header_percentages <- read_excel("GROUPING1.xlsx", skip = 1, n_max = 1, col_names = FALSE)
percentage_labels <- as.character(header_percentages[1, 3:ncol(header_percentages)])

pollen_data_full <- read_excel("GROUPING1.xlsx", col_names = TRUE)
pollen_data <- pollen_data_full %>%
    select(2:14) %>%
    rename(Temperature = Lab) %>%
    slice(-(1:2)) %>%
    mutate(Temperature = stringr::str_replace_all(Temperature, "℃", ""), Temperature = as.numeric(Temperature),
        Temperature = signif(Temperature, digits = 5))

final_table <- pollen_data %>%
    mutate(across(.cols = -Temperature, .fns = ~cell_spec(.x, "html", bold = TRUE,
        background = case_when(is.na(.x) ~ "#D9D9D9", .x == "Good Pollination" ~
            "#A9D08E", .x == "Pollination at Risk" ~ "#FFC000", .x == "Poor Pollination" ~
            "#D9D9D9", TRUE ~ "white")))) %>%
    kable(col.names = rep("", 13), format = "html", escape = FALSE, caption = "Figure 1: Pollen Viability Risk by Temperature and Relative Humidity") %>%
    add_header_above(header = c(` ` = 1, setNames(rep(1, length(percentage_labels)),
        percentage_labels)), line = TRUE) %>%
    kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = TRUE,
        font_size = 11) %>%
    add_header_above(header = c(Temperature = 1, `Relative Humidity in Percentages` = 12),
        line = TRUE) %>%
    column_spec(column = 1, bold = TRUE, color = "white", background = "darkblue")


final_table <- final_table %>%
    footnote(general = "Source: Dol & Huvermann (2020)'s report on Plant - pollinator interactions in high temperatures. Information about radiation intensity were taken out because we did not measure radiation intensity in our study; the lower range of the table was expanded to include all of our sample data. ") %>%
    scroll_box(width = "100%", height = "300px")

final_table
Figure 1: Pollen Viability Risk by Temperature and Relative Humidity
Temperature
Relative Humidity in Percentages
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0.550000000000001
0.500000000000001
0.450000000000001
0.400000000000001
0.350000000000001
16 Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination
17 Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination
18 Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Good Pollination Good Pollination Good Pollination Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination
19 Pollination at Risk Pollination at Risk Pollination at Risk Good Pollination Good Pollination Good Pollination Good Pollination Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination
20 Pollination at Risk Pollination at Risk Good Pollination Good Pollination Good Pollination Good Pollination Good Pollination Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination
21 Pollination at Risk Pollination at Risk Good Pollination Good Pollination Good Pollination Good Pollination Good Pollination Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination
22 Pollination at Risk Good Pollination Good Pollination Good Pollination Good Pollination Good Pollination Good Pollination Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination
23 Pollination at Risk Good Pollination Good Pollination Good Pollination Good Pollination Good Pollination Good Pollination Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination
24 Pollination at Risk Good Pollination Good Pollination Good Pollination Good Pollination Good Pollination Good Pollination Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination
25 Pollination at Risk Good Pollination Good Pollination Good Pollination Good Pollination Good Pollination Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination Poor Pollination Poor Pollination
26 Pollination at Risk Good Pollination Good Pollination Good Pollination Good Pollination Good Pollination Pollination at Risk Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination
27 Pollination at Risk Good Pollination Good Pollination Good Pollination Good Pollination Good Pollination Pollination at Risk Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination
28 Pollination at Risk Good Pollination Good Pollination Good Pollination Good Pollination Pollination at Risk Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination
29 Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination
30 Pollination at Risk Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination
31 Pollination at Risk Pollination at Risk Pollination at Risk Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination
32 Pollination at Risk Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination
33 Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination Poor Pollination
Note:
Source: Dol & Huvermann (2020)’s report on Plant - pollinator interactions in high temperatures. Information about radiation intensity were taken out because we did not measure radiation intensity in our study; the lower range of the table was expanded to include all of our sample data.

          According to Figure 1, I have re-grouped all data across 2022, 2023, and 2025 into NPR ad OPR groups. Since Dol & Huvermann (2020)‘s table was designed for greenhouses and ours data were collected in open gardens, I put both “Good Pollination” and “Pollination at Risk” groups into the OPR category to adjust for heat and humidity dispersal from better ventilation. Luckily for me, this also works out to balance the two groups’ sample sizes a little bit, since there are a lot of dates under the “Poor Pollination” group in our collected data. Here is my data regrouped and cleaned up (since we are only using the “Bees” column):

data1 <- read_excel("Pollinators Grouped Analysis.xlsx", sheet = "Dates Re-grouped")
names(data1) <- trimws(names(data1))
mean_bees_by_group1 <- data1 %>% 
  group_by(`OPR/NPR`) %>% 
  summarise(Mean_Bees = mean(Bees))

difference_in_means <- mean_bees_by_group1$Mean_Bees[2] - mean_bees_by_group1$Mean_Bees[1]

difference_row <- tibble(
    `OPR/NPR` = "Difference (OPR - NPR)",
    Mean_Bees = difference_in_means
)

mean_bees_by_group1 <- bind_rows(mean_bees_by_group1, difference_row)

mean_bees_by_group1 %>% 
  kable(
    col.names = c("Pollination Group", "Mean Bees")
  ) %>% 
  kable_styling(bootstrap_options = "striped", full_width = FALSE) %>% 
  footnote(
    general = "Figure 2: Mean Bee Counts by Pollination Group", 
    general_title = " "
  ) 
Pollination Group Mean Bees
NPR 3.0462963
OPR 3.9444444
Difference (OPR - NPR) 0.8981481
Figure 2: Mean Bee Counts by Pollination Group
data1_table <- data1 %>%
  kable(format = "html", caption = "Table of Data1") %>%
  kable_styling(bootstrap_options = c("striped", "hover"),
    font_size = 11,
    full_width = FALSE) %>%
  scroll_box(width = "100%", height = "300px")

data1_table
Table of Data1
OPR/NPR Date Site Group Wasps Bees Flies Butterflies Non-flying Insects Avg. Pollinators Notes Pollination Group
OPR 2022-09-12 1 1 20.6666667 23.0000000 3.3333333 0 0.3333333 47.3333333 NA Good Pollination
OPR 2022-09-12 1 2 4.3333333 7.6666667 2.6666667 0 0.0000000 14.6666667 NA Good Pollination
OPR 2022-09-12 1 3 10.6666667 10.0000000 5.0000000 0 0.0000000 25.6666667 NA Good Pollination
OPR 2022-09-12 1 4 4.0000000 9.6666667 1.6666667 0 0.0000000 15.3333333 NA Good Pollination
OPR 2022-09-13 1 5 1.0000000 4.0000000 1.0000000 0 0.0000000 6.0000000 Only the second two trials were averaged, as it rained during the first Good Pollination
OPR 2022-09-13 1 6 0.5000000 2.0000000 1.0000000 0 0.0000000 3.5000000 Only the second two trials were averaged, as it rained during the first Good Pollination
OPR 2022-09-13 1 7 0.5000000 1.0000000 1.5000000 0 0.0000000 3.0000000 Only the second two trials were averaged, as it rained during the first Good Pollination
OPR 2022-09-13 1 8 0.5000000 1.5000000 2.5000000 0 0.0000000 4.5000000 Only the second two trials were averaged, as it rained during the first Good Pollination
OPR 2022-09-13 1 9 0.0000000 1.0000000 2.5000000 0 0.0000000 3.5000000 Only the second two trials were averaged, as it rained during the first Good Pollination
OPR 2023-09-13 1 11 0.0000000 0.0000000 1.3333333 0 2.0000000 3.3333333 NA Good Pollination
OPR 2023-09-13 1 12 0.0000000 0.0000000 0.6666667 0 1.3333333 2.0000000 NA Good Pollination
OPR 2023-09-13 1 13 0.0000000 6.6666667 1.0000000 0 0.0000000 7.6666667 NA Good Pollination
OPR 2023-09-13 1 14 0.0000000 0.0000000 1.6666667 0 0.6666667 2.3333333 NA Good Pollination
OPR 2023-09-11 1 1 0.0000000 0.3333333 2.0000000 0 0.6666667 3.0000000 NA Pollination at Risk
OPR 2023-09-11 1 2 0.0000000 2.0000000 0.6666667 0 4.0000000 6.6666667 NA Pollination at Risk
OPR 2023-09-11 1 3 0.0000000 0.0000000 0.6666667 0 0.0000000 0.6666667 NA Pollination at Risk
OPR 2023-09-11 1 4 0.0000000 5.0000000 2.3333333 0 0.0000000 7.3333333 NA Pollination at Risk
OPR 2023-09-11 1 5 0.0000000 0.0000000 0.0000000 0 0.0000000 0.0000000 NA Pollination at Risk
OPR 2025-09-10 1 3 2.0000000 2.0000000 1.6666667 0 0.3333333 6.0000000 Moved transect slightly within subplot Pollination at Risk
OPR 2025-09-10 1 7 3.6666667 5.3333333 5.3333333 0 0.6666667 10.6666667 NA Pollination at Risk
OPR 2025-09-10 1 16 0.0000000 1.6666667 2.0000000 0 0.0000000 3.6666667 Shade increased during trial Pollination at Risk
NPR 2022-09-14 1 10 4.3333333 5.6666667 2.3333333 0 0.0000000 12.3333333 NA Poor Pollination
NPR 2022-09-14 1 11 4.6666667 6.6666667 5.3333333 0 1.0000000 17.6666667 NA Poor Pollination
NPR 2022-09-14 1 12 3.6666667 6.3333333 3.3333333 0 0.3333333 13.6666667 NA Poor Pollination
NPR 2022-09-14 1 13 3.0000000 1.6666667 4.3333333 0 0.0000000 9.0000000 NA Poor Pollination
NPR 2022-09-15 1 14 0.0000000 2.0000000 1.0000000 0 0.0000000 3.0000000 NA Poor Pollination
NPR 2022-09-15 1 15 0.0000000 2.3333333 0.0000000 0 0.0000000 2.3333333 NA Poor Pollination
NPR 2022-09-15 1 16 0.6666667 5.3333333 1.6666667 0 0.0000000 7.6666667 NA Poor Pollination
NPR 2022-09-15 1 17 1.0000000 5.0000000 1.6666667 0 0.0000000 7.6666667 NA Poor Pollination
NPR 2022-09-15 1 18 1.0000000 5.3333333 3.3333333 0 0.0000000 9.6666667 NA Poor Pollination
NPR 2023-09-12 1 6 4.6666667 2.3333333 1.0000000 0 0.0000000 8.0000000 NA Poor Pollination
NPR 2023-09-12 1 7 0.3333333 0.6666667 5.0000000 0 0.3333333 6.3333333 people getting out of class Poor Pollination
NPR 2023-09-12 1 8 0.0000000 4.3333333 4.6666667 0 4.3333333 13.3333333 more students walking by Poor Pollination
NPR 2023-09-12 1 9 0.0000000 0.3333333 17.3333333 0 3.6666667 21.3333333 class got out, more students walking by Poor Pollination
NPR 2023-09-12 1 10 0.3333333 1.3333333 0.3333333 0 1.0000000 3.0000000 more students walking by Poor Pollination
NPR 2023-09-14 1 15 0.6666667 0.0000000 0.6666667 0 0.3333333 1.6666667 NA Poor Pollination
NPR 2023-09-14 1 16 6.6666667 10.3333333 3.6666667 0 1.6666667 22.3333333 NA Poor Pollination
NPR 2023-09-14 1 17 0.3333333 7.3333333 1.0000000 0 1.6666667 10.3333333 NA Poor Pollination
NPR 2023-09-14 1 18 0.0000000 0.0000000 0.0000000 0 0.0000000 0.0000000 NA Poor Pollination
NPR 2023-09-14 1 19 0.0000000 3.6666667 0.0000000 0 0.0000000 3.6666667 idling engine nearby, class got out Poor Pollination
NPR 2025-09-08 1 1 0.6666667 0.6666667 0.3333333 0 0.0000000 1.6666667 NA Poor Pollination
NPR 2025-09-08 1 5 7.0000000 2.0000000 3.6666667 0 0.0000000 12.6666667 NA Poor Pollination
NPR 2025-09-08 1 9 1.3333333 0.6666667 3.3333333 0 5.0000000 10.3333333 NA Poor Pollination
NPR 2025-09-08 1 14 0.3333333 0.3333333 3.6666667 0 0.0000000 4.3333333 NA Poor Pollination
NPR 2025-09-08 1 18 0.0000000 0.0000000 0.3333333 0 0.0000000 0.3333333 NA Poor Pollination
NPR 2025-09-09 1 2 3.3333333 0.0000000 1.0000000 0 2.6666667 6.6666667 More activity in plants surrounding our transect Poor Pollination
NPR 2025-09-09 1 6 6.0000000 4.6666667 3.0000000 0 0.0000000 13.6666667 Wasps ssemed to deter other insects from landing during later trials Poor Pollination
NPR 2025-09-09 1 10 1.3333333 1.0000000 0.3333333 0 0.0000000 2.6666667 Moved transect slightly within subplot Poor Pollination
NPR 2025-09-09 1 15 0.3333333 0.0000000 0.3333333 0 0.3333333 1.0000000 NA Poor Pollination
NPR 2025-09-09 1 19 0.0000000 0.0000000 0.0000000 0 0.3333333 0.3333333 More activity in plants surrounding our transect Poor Pollination
NPR 2025-09-09 1 21 0.0000000 0.0000000 0.3333333 0 0.0000000 0.3333333 NA Poor Pollination
NPR 2025-09-11 1 4 4.6666667 2.3333333 1.3333333 0 2.0000000 10.3333333 NA Poor Pollination
NPR 2025-09-11 1 8 2.0000000 0.3333333 2.3333333 0 0.3333333 5.0000000 NA Poor Pollination
NPR 2025-09-11 1 12 2.0000000 8.6666667 8.0000000 0 0.0000000 18.6666667 Classes let out increasing pedestrian traffic in first trial. car idled nearby during middle trial Poor Pollination
NPR 2025-09-11 1 13 2.3333333 2.3333333 3.3333333 0 3.0000000 11.0000000 NA Poor Pollination
NPR 2025-09-11 1 17 6.0000000 11.3333333 3.0000000 0 0.0000000 20.3333333 Classes let out increasing pedestrian traffic in first trial. car idled nearby during middle trial Poor Pollination
NPR 2025-09-11 1 22 2.3333333 4.6666667 4.3333333 0 0.0000000 11.3333333 NA Poor Pollination
bees_table <- data1 %>% 
  select(
    `OPR/NPR`, 
    Date,
    Bees, 
    `Pollination Group` 
  )

bees_table %>%
  kable(
    caption = "Figure 3: Individual Bee Count Observations with Categorizations",
    # Rename columns for clarity in the final table
    col.names = c("Risk Group", "Date", "Bees Count", "Viability Group")
  ) %>%
  kable_styling(
    bootstrap_options = c("striped", "hover", "condensed"),
    font_size = 11
  )%>%
  scroll_box(width = "100%", height = "300px")
Figure 3: Individual Bee Count Observations with Categorizations
Risk Group Date Bees Count Viability Group
OPR 2022-09-12 23.0000000 Good Pollination
OPR 2022-09-12 7.6666667 Good Pollination
OPR 2022-09-12 10.0000000 Good Pollination
OPR 2022-09-12 9.6666667 Good Pollination
OPR 2022-09-13 4.0000000 Good Pollination
OPR 2022-09-13 2.0000000 Good Pollination
OPR 2022-09-13 1.0000000 Good Pollination
OPR 2022-09-13 1.5000000 Good Pollination
OPR 2022-09-13 1.0000000 Good Pollination
OPR 2023-09-13 0.0000000 Good Pollination
OPR 2023-09-13 0.0000000 Good Pollination
OPR 2023-09-13 6.6666667 Good Pollination
OPR 2023-09-13 0.0000000 Good Pollination
OPR 2023-09-11 0.3333333 Pollination at Risk
OPR 2023-09-11 2.0000000 Pollination at Risk
OPR 2023-09-11 0.0000000 Pollination at Risk
OPR 2023-09-11 5.0000000 Pollination at Risk
OPR 2023-09-11 0.0000000 Pollination at Risk
OPR 2025-09-10 2.0000000 Pollination at Risk
OPR 2025-09-10 5.3333333 Pollination at Risk
OPR 2025-09-10 1.6666667 Pollination at Risk
NPR 2022-09-14 5.6666667 Poor Pollination
NPR 2022-09-14 6.6666667 Poor Pollination
NPR 2022-09-14 6.3333333 Poor Pollination
NPR 2022-09-14 1.6666667 Poor Pollination
NPR 2022-09-15 2.0000000 Poor Pollination
NPR 2022-09-15 2.3333333 Poor Pollination
NPR 2022-09-15 5.3333333 Poor Pollination
NPR 2022-09-15 5.0000000 Poor Pollination
NPR 2022-09-15 5.3333333 Poor Pollination
NPR 2023-09-12 2.3333333 Poor Pollination
NPR 2023-09-12 0.6666667 Poor Pollination
NPR 2023-09-12 4.3333333 Poor Pollination
NPR 2023-09-12 0.3333333 Poor Pollination
NPR 2023-09-12 1.3333333 Poor Pollination
NPR 2023-09-14 0.0000000 Poor Pollination
NPR 2023-09-14 10.3333333 Poor Pollination
NPR 2023-09-14 7.3333333 Poor Pollination
NPR 2023-09-14 0.0000000 Poor Pollination
NPR 2023-09-14 3.6666667 Poor Pollination
NPR 2025-09-08 0.6666667 Poor Pollination
NPR 2025-09-08 2.0000000 Poor Pollination
NPR 2025-09-08 0.6666667 Poor Pollination
NPR 2025-09-08 0.3333333 Poor Pollination
NPR 2025-09-08 0.0000000 Poor Pollination
NPR 2025-09-09 0.0000000 Poor Pollination
NPR 2025-09-09 4.6666667 Poor Pollination
NPR 2025-09-09 1.0000000 Poor Pollination
NPR 2025-09-09 0.0000000 Poor Pollination
NPR 2025-09-09 0.0000000 Poor Pollination
NPR 2025-09-09 0.0000000 Poor Pollination
NPR 2025-09-11 2.3333333 Poor Pollination
NPR 2025-09-11 0.3333333 Poor Pollination
NPR 2025-09-11 8.6666667 Poor Pollination
NPR 2025-09-11 2.3333333 Poor Pollination
NPR 2025-09-11 11.3333333 Poor Pollination
NPR 2025-09-11 4.6666667 Poor Pollination

          Now that I have the data regrouped and cleaned up, the next step is to analyze them and assess whether or not I have enough evident to reject out null hypothesis that the pollination and temperature changes the number of bees that pollinate flowers in the strip of garden at Mount Holyoke College. I will be using a two-sample t-test to examine whether or not there is a statistical difference in the number of bees recorded to pollinate flowers on the strip. To determine statistical significance, I will be using an \(\alpha\) value of 0.05 and a degrees of freedom of 55.

Results

          Firstly, a histogram of both NPR and OPR groups would be helpful in our understanding or each group’s means variances, and spreads.

ggplot(data=data1, aes(x = Bees, fill = `OPR/NPR`)) +
  geom_histogram(bins=40) +
  facet_wrap(~ `OPR/NPR`) +
  theme_bw()

          To test whether or not the NPR and OPR categories are significantly different in their average bee counts, I performed a two-sample t-test. Since the sample sizes for our OPR and NPR groups are different, we will perform a two-sample t-test. The formula for a two-sample t-test is: \[ t = \frac{\bar{x}_1 - \bar{x}_2}{\sqrt{\frac{s_1^2}{n_1} + \frac{s_2^2}{n_2}}} \]           According to Vincze et al. (2024) and Dol & Huvermann (2020) there should be less active bees in the “Non-optimal Pollination Range” category (too high/too low humidity and temperature) than the “Optimal Pollination Range” category. From that, I think it would be reasonable to hypothesize that the bee counts in our samples would also be lower on NPR days than OPR days. Therefore, I make the following hypotheses:           My null hypothesis \(H_0\) is that there are no differences between NPR and OPR groups in average bee counts on our strip over 5 minutes. In Math, that would be: \[ H_0: \mu_{OPR} - \mu_{NPR} = 0 \]           My alternative hypothesis \(H_a\) is that there is a difference between NPR and OPR groups in average bee counts on our strip over 5 minutes. In Math, that would be: \[ H_0: |\mu_{OPR} - \mu_{NPR}| > 0 \]           With our parameters established, let’s go ahead and compute our t-test:

t_test_result1 <- t.test(Bees ~ `OPR/NPR`, data = data1, var.equal = TRUE, two.tailed = FALSE)
t_test_result1
## 
##  Two Sample t-test
## 
## data:  Bees by OPR/NPR
## t = -0.79592, df = 55, p-value = 0.4295
## alternative hypothesis: true difference in means between group NPR and group OPR is not equal to 0
## 95 percent confidence interval:
##  -3.159581  1.363285
## sample estimates:
## mean in group NPR mean in group OPR 
##          3.046296          3.944444

          Let’s first make some plots to help us understand the t-statistic and the confidence interval. After the graphs, I will interpret my results.

data1$Bees <- as.numeric(data1$Bees)
data1 <- data1 %>% filter(!is.na(Bees))
summary_data <- data1 %>%
  group_by(`OPR/NPR`) %>%
  summarise(
    Mean_Bees = mean(Bees),
    SD_Bees = sd(Bees),
    Min_Bees = min(Bees),
    Max_Bees = max(Bees),
    Count = n(),
    SE_Bees = SD_Bees / sqrt(Count)
  )
side_by_side_graph <- ggplot(summary_data, aes(x = `OPR/NPR`, y = Mean_Bees, fill = `OPR/NPR`)) +
  
  geom_bar(stat = "identity", position = position_dodge(), alpha = 0.7) +
  
  geom_errorbar(
    aes(ymin = Min_Bees, ymax = Max_Bees),
    width = 0.22, 
    linewidth = 0.25,
    linetype = "dashed", 
    position = position_dodge(0.9)
  ) +
  
  geom_errorbar(
    aes(ymin = Mean_Bees - SE_Bees, ymax = Mean_Bees + SE_Bees),
    width = 0.1, 
    linewidth = 0.8, 
    position = position_dodge(0.9)
  ) +
  
  labs(
    title = "Mean Bee Count by Pollination Group (Range & SE Shown)",
    x = "Pollination Group",
    y = "Mean Bee Count",
    caption = "Thinner, dashed lines show the Min-Max range; \nThicker, solid lines show the ± Standard Error."
  ) +
  theme_minimal() +
  scale_fill_brewer(palette = "Set1")

side_by_side_graph

CI_LOWER <- -1.363285
CI_UPPER <- 3.159581 

data_ci <- data1 

scatterplot_ci <- ggplot(data_ci, aes(x = Bees, y = 0)) +
  
  geom_rect(
    xmin = CI_LOWER, xmax = CI_UPPER, 
    ymin = -0.10, ymax = 0.1, 
    fill = "gray80", 
    alpha = 0.7, 
    color = "red", 
    linewidth = 1.5
  ) +
  geom_point(
    aes(color = `OPR/NPR`), 
    size = 2, 
    position = position_jitter(width = 0, height = 0.08) 
  ) +
  
  geom_vline(xintercept = mean(data_ci$Bees), linetype = "dashed", color = "black") +
  
  labs(
    title = "Bee Counts vs. 95% Confidence Interval if Null Hypothesis is True",
    x = "Bee Count (Bees)",
    y = "",
    caption = paste("95% CI: [", CI_LOWER, ", ", CI_UPPER, "]")
  ) +
  
  scale_y_continuous(breaks = NULL) + 
  theme_minimal() +
  theme(axis.text.y = element_blank(), 
        axis.ticks.y = element_blank(),
        legend.position = "top")
scatterplot_ci

          Overall, I did not find a significant difference between the number of bee pollination on flowers in the our garden strip across from Clapp Labratory basement, Mount Holyoke College. The p-value from my two-sample t-test between NPR and OPR groups turns out to be 0.4295, which is higher than our \(\alpha\) value of 0.05 and not enough for us to reject the null hypothesis.

Discussion

          Being categorized as in the NPR or the OPR group was not a significant determinant of the mean number of bees pollinating flowers in each plot. However, from the bar graph, we do observe the OPR group having a slightly higher mean, upper range and upper standard error bar range than the NPR group. Moreover, I think it is worthy to point out that a lot of samples from the NPR groups have 0 bee observances. This could say something about bee activity in less humid, higher-temperature days. It is worthy of pointing out that the OPR mean and standard error could be skewed by a single very large bee pollination sample of 23 bees (the blue dot to the very right that stands out on the confidence interval graph.)

          So, although we did not find being categorized in NPR/OPR groups (a proxy of humidity and temperature) the significant determining factor of bee pollination counts, we are still observing some general trends in higher bee pollination instances in the OPR group. At least our sample data did not prove the opposite result to be true (where the NPR group’s bee pollination count exceeds that of the OPR group.) Perhaps if we had more samples of observations to compile a t-test from, a more subtle but concrete difference between the NPR and OPR groups could be detected.

          What could be improved upon? Well, first of all, I could have used a better criteria for categorizing NPR/OPR groups. The table I referenced to categorize NPR/OPR groups is written for bumblebee pollination of tomato flowers in greenhouses. For more conditionally accurate categorizations, maybe next time I can find or make another table more suitable for climate conditions in the Western Massachusetts outdoors. Another change in our statistical calculation would be to perform an ANOVA test on all three groups instead of putting “Good Pollination” and “Pollination at Risk” in the same group. I could have also taken into consideration the changes in weather and windiness, since bees are especially sensitive to late-afternoon and early-morning obstructive weathers. (Vincze et al., 2024)

          Of course, improvements can also be made upon the way we collected our data. For example, our garden strip where we recorded all of our pollinator data was next to a heavily trafficked road and directly across an academic building. This means that students and cars often pass along this strip, discouraging pollination activities from pollinators such as bees. Furthermore, beneath our strip of garden, there is a garden field and a greenhouse populated with a more diverse and rich species range of flowers and other plants. When my lab partner and I collected our data, we noticed a more diverse, vigorous and lush array of blooming flowers about a meter further along the downward-sloping hill we were facing. Not only are the flowers more attractive to pollinators, the slope serves as an additional layer of defense against human and car traffic, sunlight, noise, wind… etc.

          Other confounding variables include the changes in humidity and temperatures within the same week and day the data were taken from, as well as sunlight radiation. The importance of solar radiation is highlighted by Vincze et al. (2024), who note that it is significantly correlated with bee activity. Regarding whether pollinators respond to immediate changes, Vincze et al. (2024)‘s article suggests a direct and rapid response, stating that ’short-term weather changes directly affect or can inhibit bee flight and foraging’ and that weather changes ‘provoke instant response of flight activity’. This suggests that the ‘inertia’ of bee behavior may be an existing, less significant factor than the immediate environmental conditions.

          Perhaps next time, we can create a new constant that takes into account both the humidity and temperature of today and previous days. For example: The new weighted pollination viability score = Today (day n)*80% + Yesterday (day n-1)*16% + the day before yesterday (day n-2)*4% . Another improvement would to consider the change in weather and windiness at the time of data collection. However, that would require optional weather and wind from data-collecting students

Citations

Dol, G., and R. Huvermann. 2020, June 30. Plant-pollinator interactions in high temperatures. Koppert, Glasshouse Consultancy.

Vincze, C., Á. Leelőssy, E. Zajácz, and R. Mészáros. 2024. A review of short-term weather impacts on honey production. International Journal of Biometeorology 69:303–317.