Уральский сад лечебных культур имени профессора Л.И. Вигорова уникальный объект, главной задачей которого является выращивание разнообразных культур с высоким содержанием биологически активных веществ. Спустя долгие годы работы в саду, была собрана огромная коллекция плодовых и ягодных растений, где особенно много уникальных сортов яблони домашней (Malus domestica Borkh.).
Важной задачей современного садоводства является сохранение богатого генофонда отечественных сортов плодовых культур, которые обладают приспособленностью к климатическим условиям конкретного региона и выражается в таких характеристиках как зимостойкость, устойчивость к засухе и резким перепадам температур, а также урожайности в зимний, летний или осенний период.
Изучить особенности фенологического развития сортов яблони домашней в условиях Урала и оценить зависимость сроков наступления фенофаз от природно-климатических факторов.
Район исследований расположен на территории Свердловской области, город Екатеринбург. Протяженность области с севера на юг составляет 660 км, а с запада на восток 560 км.
Область находится в умеренном климатическом поясе. Климат умеренно континентальный. Температура воздуха увеличиваются с севера на юг. Средняя температура января от –16 до –20ºС, июля 16–19ºС. Выпадение осадков увеличивается с юга на северо-запад и среднее значение составляет 350–600 мм в год. Большая часть осадков выпадает в осенний период.
По почвенно-климатическим условиям Свердловская область делится на четыре природные зоны: горно-лесную, лесную, лесолуговую и лесостепную. Преобладают следующие разновидности почв: подзолистые, дерново-подзолистые, темно-серые.
Исследования проводились на территории Уральского сада лечебных культур имени профессора Л.И. Вигорова (УСЛК) на двух территориях – УСЛК-1 и УСЛК-2 в 2022-2024 годах.
Систематическое положение: семейство розоцветные (Rosales), подсемейство яблоневые (Maloideae), род яблоня (Malus Mill.).К подсемейству яблоневые (Maloideae) относятся листопадные или вечнозеленые деревья и кустарники.
Яблоня (Malus Mill.) – род деревьев и кустарников, представленный более 40 видами. Произрастает в умеренном и субтропическом климате и является одной из важнейших плодовых культур. Тип ветвления зависит от того, в какой стадии растение находится: до вступления в фазу плодоношения ветвление моноподиальное, а после начала плодоношения смешанный тип ветвления – моноподиальный и симподиальный. Побеги могут быть с колючками. Прикрепление листа к стеблю черешковое. Листья простые, яйцевидные, овальные или продолговатые. Верхушка округлая или заострённая. Край листа бывает цельнокрайный, волнистый, пильчатый. Жилкование перисто-сетчатое. На листовом рубце три листовых следа. Цветки в полузонтиках или щитках. Окраска цветков белая, розовая, красноватая. Цветение начинается вскоре после появления листьев. Плоды яблоковидные, сладкие или кисло-сладкие, имеют питательное и лечебное значение. В плодах содержаться сахара, органические кислоты (в т.ч. яблочная), витамины С, группы В, каротин. Размножается яблоня семенами, дает поросль от пня, бывают корневые отпрыски. Садовые сорта размножают прививкой. Доживает до 300 лет.
Наиболее распространёнными видами яблони (Malus) являются: яблоня лесная (Malus sylvestris Mill.), яблоня ягодная (Malus baccata (L.) Borkh) и яблоня домашняя (Malus domestica Borkh).
Яблоня домашняя (Malus domestica Borkh.) – листопадное дерево лесостепного типа до 10–12 м высотой с широкой раскидистой кроной; стволы с темно-серой трещиноватой корой; побеги долго остаются опушенными. Листья очередные, простые, с прилистниками, чаще яйцевидные, 5–10 см длиной, с заостренной верхушкой и округленным основанием, по краям городчато-пильчатые, нередко морщинистые, с обеих сторон более или менее сильно опушенные. Цветки до 5 см в диаметре, с белыми или розоватыми лепестками; чашечки остаются при плодах. Плоды варьируют форме, размерам (обычно крупнее 3 см в диаметре) и окраске, на коротких плодоножках. Плодоношение начинается с 4-12 лет. Вид возник в результате гибридизации и последующей селекции из многих дикорастущих видов. Множество сортов и известна только в культуре.
Объектом исследования являлась коллекция сортов яблони домашней (Malus domestica Borkh), произрастающая на территории Уральского сада лечебных культур имени профессора Л.И.Вигорова.
Климатические данные взяты из архива данных РП5, Россия, Свердловская область, Екатеринбург, номер метеостанции 28440.
Макрофенологические наблюдения за яблоней домашней (Malus domestica Borkh) проводились на территории УСЛК-1 на двух участках в 2022 году и по трем участкам в 2023-2024 гг., на территории УСЛК-2 в 2022 году.
Наблюдения проводились над вегетативными и генеративными побегами. Фенологические даты фиксировались по следующим фенологическим фазам: набухание почек, раскрытие почек, первые листья, бутонизация, зацветание, обильное цветение, конец цветения, начало листопада, появление плодов. Повторность наблюдений в период вегетации растений — не реже двух раз в неделю. Большинство фенофаз отмечались в дни, когда в наблюдаемую фенофазу вступало 5-10% органов растения. Полученные данные заносились как в письменном виде в тетрадь, так и в электронную таблицу. По некоторым сортам записывались примечания. Также в процессе наблюдений был сделан фотоматериал фенофаз у сортов, произрастающих на втором и третьем участках первой территории и привитых черенках на второй территории сада.
Фотоматериал фенологических фаз на примере Апорта Алмаатинского:
| № п/п | Вид исследования | Объем работ |
|---|---|---|
| 1 | Изучение литературных источников | 86 |
| 2 | Предварительный сбор и анализ побегов яблони домашней | 1340 побегов |
| 3 | Исследования морфометрических показателей | 2214 измерений |
| 4 | Фенологические наблюдения | 1666 фенодат |
| 5 | Фотоматериал фенофаз и общий вид яблони домашней | 1025 фото |
| 6 | Проведение омолаживающей обрезки у яблони домашней | 102 дерева |
| 7 | Привитые черенки | 164 черенка |
pheno1_2022 <- readxl::read_excel("УСЛК1 2022 фенология.xlsx")
climat_2022 <- readxl::read_excel("Климатические данные 2022.xlsx")
str(pheno1_2022)
## tibble [80 × 12] (S3: tbl_df/tbl/data.frame)
## $ Сорт : chr [1:80] "Папировка обыкновенная" "Пионер севера" "Уэлси" "Химическое Мичурина" ...
## $ Набухание почек : POSIXct[1:80], format: "2022-04-25" "2022-04-20" ...
## $ Раскрытие почек : POSIXct[1:80], format: "2022-04-27" "2022-04-25" ...
## $ Первые листья : POSIXct[1:80], format: "2022-05-11" "2022-04-27" ...
## $ Бутонизация : POSIXct[1:80], format: NA NA ...
## $ Зацветание : POSIXct[1:80], format: NA "2022-06-06" ...
## $ Обильное цветение: POSIXct[1:80], format: "2022-05-30" NA ...
## $ Конец цветения : POSIXct[1:80], format: "2022-06-10" NA ...
## $ Появление плода : POSIXct[1:80], format: "2022-06-16" NA ...
## $ Созревание плода : POSIXct[1:80], format: NA NA ...
## $ Начало листопада : POSIXct[1:80], format: NA NA ...
## $ Конец листопада : logi [1:80] NA NA NA NA NA NA ...
#данные из широкого формата в длинный
pheno_long <- pheno1_2022 %>%
pivot_longer(cols = -Сорт, names_to = "Фенофаза", values_to = "Дата_время") %>%
mutate(Дата = as.Date(Дата_время)) %>%
select(Сорт, Фенофаза, Дата) %>%
arrange(Сорт, Фенофаза)
#Преобразование климатических данных
weather <- climat_2022 %>%
mutate(Дата = as_date(Дата),
Tmean = (Tmin + Tmax) / 2)
#Расчет суммы среднесуточных температур выше +5 гр.Цельсия. - GDD (Growing Degree Days) (индекс градусо-дней). Создание функции.
calculate_gdd <- function(event_date, weather_df, days_before = 30, t_base = 5) {
start_date <- event_date - days(days_before)
period_weather <- weather_df %>%
filter(Дата >= start_date & Дата <= event_date)
total_gdd <- sum(pmax(period_weather$Tmean - t_base, 0), na.rm = TRUE)
return(total_gdd)
}
#Созданную функцию calculate_gdd применить для каждой фенофазы
pheno_with_gdd <- pheno_long %>%
rowwise() %>%
mutate(GDD_30 = calculate_gdd(Дата, weather, days_before = 30)) %>%
ungroup()
summary_stats <- pheno_with_gdd %>%
group_by(Фенофаза) %>%
summarise(
Средняя_дата = mean(Дата, na.rm = TRUE),
Самая_ранняя = min(Дата, na.rm = TRUE),
Самая_поздняя = max(Дата, na.rm = TRUE),
Количество_сортов = n(),
.groups = 'drop'
)
## Warning: There were 2 warnings in `summarise()`.
## The first warning was:
## ℹ In argument: `Самая_ранняя = min(Дата, na.rm = TRUE)`.
## ℹ In group 3: `Фенофаза = "Конец листопада"`.
## Caused by warning in `min.default()`:
## ! no non-missing arguments to min; returning Inf
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning.
phases_to_exclude <- c("Конец листопада")
pheno_filtered <- pheno_long %>%
filter(!Фенофаза %in% phases_to_exclude)
correct_order <- c("Набухание почек", "Раскрытие почек", "Первые листья", "Бутонизация", "Зацветание", "Обильное цветение", "Конец цветения", "Появление плода", "Созревание плода", "Начало листопада")
pheno_for_plot <- pheno_filtered %>%
mutate(Фенофаза = factor(Фенофаза, levels = correct_order))
s <- ggplot(pheno_for_plot, aes(x = Фенофаза, y = Дата)) +
geom_boxplot(fill = "lightgreen") +
labs(title = "Сроки наступления фенофаз (2022)", x = "Фенофаза", y = "Дата") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
interactive_plot <- ggplotly(s)
## Warning: Removed 395 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
interactive_plot
#Зависимость фенодат от климатических уловий. Например: зацветание
flower_data <- pheno_with_gdd %>% filter(Фенофаза == "Зацветание")
ggplot(flower_data, aes(x = GDD_30, y = Дата, color = Сорт)) +
geom_point(alpha = 0.6, show.legend = FALSE) +
geom_smooth(method = "lm", se = TRUE, color = "darkred", size = 0.5, aes(group=1)) +
labs(title = "Связь даты начала цветения с суммой эффективных температур (GDD)",
subtitle = "За 30 дней до цветения, 2022 год",
x = "Сумма эффективных температур (GDD, 5°C) за 30 дней",
y = "Дата начала цветения") +
coord_cartesian(xlim = c(140, max(flower_data$GDD_30) * 1.05)) +
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 48 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 48 rows containing missing values or values outside the scale range
## (`geom_point()`).
#Количественная оценка связи
flower_data$DOY <- as.numeric(format(flower_data$Дата, "%j"))
lm_model <- lm(DOY ~ GDD_30, data = flower_data)
summary(lm_model)
##
## Call:
## lm(formula = DOY ~ GDD_30, data = flower_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.7333 -0.3359 -0.3359 0.8479 3.1677
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 107.00749 2.37800 45.00 <2e-16 ***
## GDD_30 0.22673 0.01368 16.57 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.416 on 30 degrees of freedom
## (48 observations deleted due to missingness)
## Multiple R-squared: 0.9015, Adjusted R-squared: 0.8982
## F-statistic: 274.5 on 1 and 30 DF, p-value: < 2.2e-16
#Результаты: Estimate для GDD_30 = 0.21261 - с увеличением суммы эффективных температур на 1 единицу, день года цветения (DOY) сдвигается в среднем на 0.21 дня позже. Pr(>|t|) для GDD_30 = 6.05e-16 - связь статистически значима. Multiple R-squared = 0.8904 - объясняет более 89% разброса в сроках цветения между сортами. (48 observations deleted due to missingness) - из 80 сортов у 48 не было фенодаты цветения. Примечание: - проверить ср.t за март и апрель и климатическую норму в регионе.
#Проверка данных.
#Диапазон данных
range(weather$Дата, na.rm = TRUE)
## [1] "2022-03-01" "2022-11-30"
flower_dates <- pheno_long %>% filter(Фенофаза == "Зацветание")
range(flower_dates$Дата, na.rm = TRUE)
## [1] "2022-05-18" "2022-06-06"
earliest_flower <- min(flower_dates$Дата, na.rm = TRUE)
start_for_gdd <- earliest_flower - days(30)
start_for_gdd
## [1] "2022-04-18"
ggplot(flower_dates, aes(x = Дата)) +
geom_histogram(binwidth = 1, fill = "lightpink", color = "black") +
labs(title = "Распределение дат начала цветения по сортам в 2022 году",
x = "Дата цветения", y = "Количество сортов") +
scale_x_date(date_breaks = "3 day", date_labels = "%d %b") +
theme_minimal()
## Warning: Removed 48 rows containing non-finite outside the scale range
## (`stat_bin()`).
#Результат: 32 фенодаты = пик приходится на 15 сортов с датой 25.05., пик смещен левее центра, значит цветение раннее, сорта можно раздедить на подгруппы ранние, средние и поздние.
bud_swell_analysis <- pheno_with_gdd %>%
filter(Фенофаза == "Набухание почек") %>%
group_by(Сорт) %>%
summarise(
Требуемое_тепло = mean(GDD_30),
Дата = mean(Дата)
) %>%
arrange(Требуемое_тепло)
ggplot(bud_swell_analysis, aes(x = Требуемое_тепло, y = Дата)) +
geom_point() +
geom_smooth(method = "lm") +
labs(title = "Зависимость набухания почек от накопленного тепла")
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 3 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 3 rows containing missing values or values outside the scale range
## (`geom_point()`).
#Проверка значимости зависимости набухание почек и gdd
bud_swell_data <- pheno_with_gdd %>%
filter(Фенофаза == "Набухание почек") %>%
mutate(DOY = yday(Дата))
model <- lm(DOY ~ GDD_30, data = bud_swell_data)
summary(model)
##
## Call:
## lm(formula = DOY ~ GDD_30, data = bud_swell_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.1018 -0.5339 -0.5339 -0.4990 2.2088
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.019e+02 3.907e-01 260.9 <2e-16 ***
## GDD_30 2.681e-01 9.965e-03 26.9 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.256 on 75 degrees of freedom
## (3 observations deleted due to missingness)
## Multiple R-squared: 0.9061, Adjusted R-squared: 0.9049
## F-statistic: 723.7 on 1 and 75 DF, p-value: < 2.2e-16
#Результаты: модель объясняет R-squared: 0.9061 - 90,6%. По первому столбцу значения Estimate Std. (Intercept) 1.019e+02 и GDD_30 2.681e-01, следовательно, уравнение для нахождения дня= 101.9337+0.2681*GDD_30
doy_to_date <- function(doy, year = 2022) {
as.Date(paste0(year, "-01-01")) + (doy - 1)
}
101.9 + 0.2681 * 50 # проверка, по графику при 50 GDD дата наступления должна быть 25 мая
## [1] 115.305
doy_to_date(115.305) #результат:"2022-04-25"
## [1] "2022-04-25"
#Получается для наступления каждой фенодаты нужно сколько-то единицу тепла GDD. Но сколько их нужно для яблони?
pheno1_2023 <- readxl::read_excel("УСЛК1 2023.xlsx")
climat_2023 <- readxl::read_excel("Климатические данные 2023.xlsx")
#данные из широкого формата в длинный
pheno_long2 <- pheno1_2023 %>%
pivot_longer(cols = -Сорт, names_to = "Фенофаза", values_to = "Дата_время") %>%
mutate(Дата = as.Date(Дата_время)) %>%
select(Сорт, Фенофаза, Дата) %>%
arrange(Сорт, Фенофаза)
#Преобразование климатических данных
weather2023 <- climat_2023 %>%
mutate(Дата = as_date(Дата),
Tmean = (Tmin + Tmax) / 2)
#Расчет суммы среднесуточных температур выше +5 гр.Цельсия. - GDD (Growing Degree Days) (индекс градусо-дней). Создание функции.
calculate_gdd2 <- function(event_date, weather_df, days_before = 30, t_base = 5) {
start_date <- event_date - days(days_before)
period_weather <- weather_df %>%
filter(Дата >= start_date & Дата <= event_date)
total_gdd <- sum(pmax(period_weather$Tmean - t_base, 0), na.rm = TRUE)
return(total_gdd)
}
#Созданную функцию calculate_gdd применить для каждой фенофазы
pheno_with_gdd2 <- pheno_long2 %>%
rowwise() %>%
mutate(GDD_30 = calculate_gdd2(Дата, weather2023, days_before = 30)) %>%
ungroup()
summary_stats2 <- pheno_with_gdd2 %>%
group_by(Фенофаза) %>%
summarise(
Средняя_дата = mean(Дата, na.rm = TRUE),
Самая_ранняя = min(Дата, na.rm = TRUE),
Самая_поздняя = max(Дата, na.rm = TRUE),
Количество_сортов = n(),
.groups = 'drop'
)
## Warning: There were 8 warnings in `summarise()`.
## The first warning was:
## ℹ In argument: `Самая_ранняя = min(Дата, na.rm = TRUE)`.
## ℹ In group 3: `Фенофаза = "Конец листопада"`.
## Caused by warning in `min.default()`:
## ! no non-missing arguments to min; returning Inf
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 7 remaining warnings.
phases_to_exclude2 <- c("Конец листопада", "Начало листопада", "Примечание", "Созревание плода")
pheno_filtered2 <- pheno_long2 %>%
filter(!Фенофаза %in% phases_to_exclude2)
correct_order2 <- c("Набухание почек", "Раскрытие почек", "Первые листья", "Бутонизация", "Зацветание", "Обильное цветение", "Конец цветения", "Появление плода")
pheno_for_plot2 <- pheno_filtered2 %>%
mutate(Фенофаза = factor(Фенофаза, levels = correct_order2))
s2 <- ggplot(pheno_for_plot2, aes(x = Фенофаза, y = Дата)) +
geom_boxplot(fill = "lightgreen") +
labs(title = "Сроки наступления фенофаз (2023)", x = "Фенофаза", y = "Дата") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
interactive_plot2 <- ggplotly(s2)
## Warning: Removed 312 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
interactive_plot2
#Зависимость фенодат от климатических уловий. Например: зацветание
flower_data2 <- pheno_with_gdd2 %>% filter(Фенофаза == "Зацветание")
ggplot(flower_data2, aes(x = GDD_30, y = Дата, color = Сорт)) +
geom_point(alpha = 0.6, show.legend = FALSE) +
geom_smooth(method = "lm", se = TRUE, color = "darkred", size = 0.5, aes(group=1)) +
labs(title = "Связь даты начала цветения с суммой эффективных температур (GDD)",
subtitle = "За 30 дней до цветения, 2023 год",
x = "Сумма эффективных температур (GDD, 5°C) за 30 дней",
y = "Дата начала цветения") +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 61 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 61 rows containing missing values or values outside the scale range
## (`geom_point()`).
#Количественная оценка связи
flower_data2$DOY <- as.numeric(format(flower_data2$Дата, "%j"))
lm_model2 <- lm(DOY ~ GDD_30, data = flower_data2)
summary(lm_model2)
##
## Call:
## lm(formula = DOY ~ GDD_30, data = flower_data2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.3696 0.1654 0.3450 0.8075 0.8075
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.089e+02 7.367e-01 147.76 <2e-16 ***
## GDD_30 1.471e-01 4.661e-03 31.57 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.133 on 66 degrees of freedom
## (61 observations deleted due to missingness)
## Multiple R-squared: 0.9379, Adjusted R-squared: 0.9369
## F-statistic: 996.3 on 1 and 66 DF, p-value: < 2.2e-16
#Результаты:Estimate для GDD_30 = 1.471e-01 - то есть 0,147, следовательно, при увеличении суммы эффективных температур на 10 единиц, цветение сдвигается примерно на 1.5 дня позже (противоположно ожиданиям). ; Pr(>|t|) для GDD_30 = <2e-16 - ; Multiple R-squared = 0.9379 -объясняет более 93% разброса в сроках цветения между сортами. (61 observations deleted due to missingness) - p-value: < 2.2e-16 - высокий уровень значимости.
#Проверка данных.
#Диапазон данных
range(weather2023$Дата, na.rm = TRUE)
## [1] "2023-03-01" "2023-11-30"
flower_dates2 <- pheno_long2 %>% filter(Фенофаза == "Зацветание")
range(flower_dates2$Дата, na.rm = TRUE)
## [1] "2023-05-04" "2023-05-25"
earliest_flower2 <- min(flower_dates2$Дата, na.rm = TRUE)
start_for_gdd2 <- earliest_flower2 - days(30)
start_for_gdd2
## [1] "2023-04-04"
ggplot(flower_dates2, aes(x = Дата)) +
geom_histogram(binwidth = 1, fill = "lightpink", color = "black") +
labs(title = "Распределение дат начала цветения по сортам в 2023 году",
x = "Дата цветения", y = "Количество сортов") +
scale_x_date(date_breaks = "3 day", date_labels = "%d %b") +
theme_minimal()
## Warning: Removed 61 rows containing non-finite outside the scale range
## (`stat_bin()`).
pheno1_2024 <- readxl::read_excel("УСЛК1 2024.xlsx")
climat_2024 <- readxl::read_excel("Климатические данные 2024.xlsx")
#данные из широкого формата в длинный
pheno_long3 <- pheno1_2024 %>%
pivot_longer(cols = -Сорт, names_to = "Фенофаза", values_to = "Дата_время") %>%
mutate(Дата = as.Date(Дата_время)) %>%
select(Сорт, Фенофаза, Дата) %>%
arrange(Сорт, Фенофаза)
head(pheno_long3, 10)
## # A tibble: 10 × 3
## Сорт Фенофаза Дата
## <chr> <chr> <date>
## 1 1 гибрид Бутонизация NA
## 2 1 гибрид Зацветание NA
## 3 1 гибрид Конец листопада NA
## 4 1 гибрид Конец цветения NA
## 5 1 гибрид Набухание почек 2024-04-10
## 6 1 гибрид Начало листопада NA
## 7 1 гибрид Обильное цветение NA
## 8 1 гибрид Первые листья 2024-04-19
## 9 1 гибрид Появление плода NA
## 10 1 гибрид Примечание NA
#Преобразование климатических данных
weather2024 <- climat_2024 %>%
mutate(Дата = as_date(Дата),
Tmean = (Tmin + Tmax) / 2)
#Расчет суммы среднесуточных температур выше +5 гр.Цельсия. - GDD (Growing Degree Days) (индекс градусо-дней). Создание функции.
calculate_gdd3 <- function(event_date, weather_df, days_before = 30, t_base = 5) {
start_date <- event_date - days(days_before)
period_weather <- weather_df %>%
filter(Дата >= start_date & Дата <= event_date)
total_gdd <- sum(pmax(period_weather$Tmean - t_base, 0), na.rm = TRUE)
return(total_gdd)
}
#Созданную функцию calculate_gdd применить для каждой фенофазы
pheno_with_gdd3 <- pheno_long3 %>%
rowwise() %>%
mutate(GDD_30 = calculate_gdd3(Дата, weather2024, days_before = 30)) %>%
ungroup()
summary_stats3 <- pheno_with_gdd3 %>%
group_by(Фенофаза) %>%
summarise(
Средняя_дата = mean(Дата, na.rm = TRUE),
Самая_ранняя = min(Дата, na.rm = TRUE),
Самая_поздняя = max(Дата, na.rm = TRUE),
Количество_сортов = n(),
.groups = 'drop'
)
## Warning: There were 8 warnings in `summarise()`.
## The first warning was:
## ℹ In argument: `Самая_ранняя = min(Дата, na.rm = TRUE)`.
## ℹ In group 3: `Фенофаза = "Конец листопада"`.
## Caused by warning in `min.default()`:
## ! no non-missing arguments to min; returning Inf
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 7 remaining warnings.
summary_stats3
## # A tibble: 12 × 5
## Фенофаза Средняя_дата Самая_ранняя Самая_поздняя Количество_сортов
## <chr> <date> <date> <date> <int>
## 1 Бутонизация 2024-05-16 2024-05-07 2024-05-22 129
## 2 Зацветание 2024-05-23 2024-05-14 2024-05-30 129
## 3 Конец листопада NaN Inf -Inf 129
## 4 Конец цветения 2024-06-04 2024-05-17 2024-06-13 129
## 5 Набухание почек 2024-04-14 2024-04-10 2024-04-26 129
## 6 Начало листопада NaN Inf -Inf 129
## 7 Обильное цветение 2024-06-01 2024-05-14 2024-06-13 129
## 8 Первые листья 2024-04-29 2024-04-17 2024-05-14 129
## 9 Появление плода 2024-06-15 2024-05-22 2024-06-20 129
## 10 Примечание NaN Inf -Inf 129
## 11 Раскрытие почек 2024-04-21 2024-04-10 2024-04-29 129
## 12 Созревание плода NaN Inf -Inf 129
phases_to_exclude3 <- c("Конец листопада", "Начало листопада", "Примечание", "Созревание плода")
pheno_filtered3 <- pheno_long3 %>%
filter(!Фенофаза %in% phases_to_exclude)
correct_order3 <- c("Набухание почек", "Раскрытие почек", "Первые листья", "Бутонизация", "Зацветание", "Обильное цветение", "Конец цветения", "Появление плода")
pheno_for_plot3 <- pheno_filtered3 %>%
mutate(Фенофаза = factor(Фенофаза, levels = correct_order3))
s3 <- ggplot(pheno_for_plot3, aes(x = Фенофаза, y = Дата)) +
geom_boxplot(fill = "lightgreen") +
labs(title = "Сроки наступления фенофаз (2024)", x = "Фенофаза", y = "Дата") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
interactive_plot3 <- ggplotly(s3)
## Warning: Removed 920 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
interactive_plot3
#Зависимость фенодат от климатических уловий. Например: зацветание
flower_data3 <- pheno_with_gdd3 %>% filter(Фенофаза == "Зацветание")
ggplot(flower_data3, aes(x = GDD_30, y = Дата, color = Сорт)) +
geom_point(alpha = 0.6, show.legend = FALSE) +
geom_smooth(method = "lm", se = TRUE, color = "darkred", size = 0.5, aes(group=1)) +
labs(title = "Связь даты начала цветения с суммой эффективных температур (GDD)",
subtitle = "За 30 дней до цветения, 2024 год",
x = "Сумма эффективных температур (GDD, 5°C) за 30 дней",
y = "Дата начала цветения") +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 98 rows containing non-finite outside the scale range
## (`stat_smooth()`).
## Warning: Removed 98 rows containing missing values or values outside the scale range
## (`geom_point()`).
#Количественная оценка связи
flower_data3$DOY <- as.numeric(format(flower_data3$Дата, "%j"))
lm_model3 <- lm(DOY ~ GDD_30, data = flower_data3)
summary(lm_model3)
##
## Call:
## lm(formula = DOY ~ GDD_30, data = flower_data3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -7.513 -3.266 -3.266 6.448 6.448
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 192.7639 20.0992 9.591 1.69e-10 ***
## GDD_30 -0.4634 0.1916 -2.418 0.0221 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.758 on 29 degrees of freedom
## (98 observations deleted due to missingness)
## Multiple R-squared: 0.1678, Adjusted R-squared: 0.1391
## F-statistic: 5.847 on 1 and 29 DF, p-value: 0.02211
#Результат: Estimate для GDD_30 = -0.4634, направленность связи отрицательно, увеличение GDD_30 на 10 единиц ведёт к более раннему цветению примерно на 4.6 дня. ; Pr(>|t|) для GDD_30 = 0.0221 - ; Multiple R-squared = 0.1678 - сила связи слабая, объясняет более 17% разброса в сроках цветения между сортами; p-value: 0.02211 - связь статистически значимая. Данные для модели (98 observations deleted due to missingness) основаны на 30 сортах.
#Проверка данных.
#Диапазон данных
range(weather2024$Дата, na.rm = TRUE)
## [1] "2024-03-01" "2024-11-30"
flower_dates3 <- pheno_long3 %>% filter(Фенофаза == "Зацветание")
range(flower_dates3$Дата, na.rm = TRUE)
## [1] "2024-05-14" "2024-05-30"
earliest_flower3 <- min(flower_dates3$Дата, na.rm = TRUE)
start_for_gdd3 <- earliest_flower3 - days(30)
start_for_gdd3
## [1] "2024-04-14"
ggplot(flower_dates3, aes(x = Дата)) +
geom_histogram(binwidth = 1, fill = "lightpink", color = "black") +
labs(title = "Распределение дат начала цветения по сортам в 2024 году",
x = "Дата цветения", y = "Количество сортов") +
scale_x_date(date_breaks = "3 day", date_labels = "%d %b") +
theme_minimal()
## Warning: Removed 98 rows containing non-finite outside the scale range
## (`stat_bin()`).
1.Новая иллюстрированная энциклопедия. Кн. 16. Ро-Ск: Большая Российская энциклопедия, 2004. – С.131.
Тощев В.В. Результаты мониторинга плодородия почв Свердловской области [Текст] / Тощев В.В. // Наука о Земле. — 2017. — № 8. — С. 16-22. URL: https://elibrary.ru/item.asp?id=30053591 (дата обращения 05.07.2024).
Заигралова Г.Н. Дендрология: краткий курс лекций для студентов, с. 64, 2016. URL: https://www.vavilovsar.ru/files/pages/25067/14721977206.PDF (дата обращения 06.07.2024).
Гладкова В.Н. «Жизнь растений», том 5, часть 2, 1981. URL: http://plantlife.ru/books/item/f00/s00/z0000033/st019.shtml (дата обращения 05.07.2024).
Булыгин Н.Е., Ярмишко В.Т. Дендрология: учебник/2-е изд. стер. М.: МГУЛ, 2003.
Паршина Е.И. Дендрология. Учебно-методическое пособие, 2013. URL: http://62.182.30.44/ft/301-000503.pdf (дата обращения 03.07.2024).
Башимова Ш., Аманова М., Оразмырадов П. Особенности выращивания и сельсткохозяйственное использование яблони, 2023. URL: https://cyberleninka.ru/article/n/osobennosti-vyraschivaniya-i-selskohozyaystvennoe-ispolzovanie-yabloni/viewer (дата обращения 03.07.2024).
Ашимова Ш., Аманов М. Особенности выращивания и сельскохозяйственное использование яблони [Текст] / Башимова Ш., Аманов М. // Международный научный журнал «ВЕСТНИК НАУКИ». — 2023. — № 9. — С. 332-335. URL: https://cyberleninka.ru/article/n/osobennosti-vyraschivaniya-i-selskohozyaystvennoe-ispolzovanie-yabloni/viewer (дата обращения 03.07.2024).
Архив погоды в Екатеринбурге. URL: https://rp5.ru (дата обращения 14.03.2025).
Новикова Л.Ю., Наумова Л.Г. Динамическая модель сезонного развития винограда. // Агрофизика. – 2018. – № 2. – С. 46-52. URL: https://www.agrophys.ru/Media/Default/JournalAgrophysica/Agrophysika2-2018/Full_text/Novikova.pdf (дата обращения 10.12.2025).
Иманбаева А.А., Белозеров И.Ф. Использование электронно-информационных технологий для создания фенологической базы данных интродуцентов Мангышлакского экспериментального ботанического сада. URL: https://cyberleninka.ru/article/n/ispolzovanie-elektronno-informatsionnyh-tehnologiy-dlya-sozdaniya-fenologicheskoy-bazy-dannyh-introdutsentov-mangyshlakskogo/viewer (дата обращения 10.12.2025).
Новикова Т.П., Малышева В.И. Влияние климатического индекса градусо-дней на виталитет 3-летних сеянцев сосны обыкновенной из сортированных по спектрометрическим свойствам семян // Лесотехнический журнал. – 2022. – Т.12. - №1 (45). – С.110-118. URL: https://cyberleninka.ru/article/n/vliyanie-klimaticheskogo-indeksa-graduso-dney-na-vitalitet-3-letnih-seyantsev-sosny-obyknovennoy-iz-sortirovannyh-po (дата обращения 10.12.2025).
Кабонен А.В., Гаврилова О.И., Кищенко И.Т. Цифровое ска нирование
роста и развития древесных растений // Изв. вузов. Лесн. журн.
2022.
№ 6. С. 55–70. URL: https://cyberleninka.ru/article/n/tsifrovoe-skanirovanie-rosta-i-razvitiya-drevesnyh-rasteniy
(дата обращения 10.12.2025).
Шинкаренко С.С. Влияние климатических факторов на датф массового цветения Bulbocodium versicolor (Melanthiaceae) на юго-восточной границе ареала. Заповедная наука 2022. 7(3): 26–45. URL: https://cyberleninka.ru/article/n/vliyanie-klimaticheskih-faktorov-na-daty-massovogo-tsveteniya-bulbocodium-versicolor-melanthiaceae-na-yugo-vostochnoy-granitse (дата обращения 10.12.2025).