library(DataExplorer)
## Warning: пакет 'DataExplorer' был собран под R версии 4.5.3
library(haven)
## Warning: пакет 'haven' был собран под R версии 4.5.2
cli <- read_sav(file.choose())
library(questionr)
## Warning: пакет 'questionr' был собран под R версии 4.5.2
library(dplyr)
## Warning: пакет 'dplyr' был собран под R версии 4.5.2
## 
## Присоединяю пакет: 'dplyr'
## Следующие объекты скрыты от 'package:stats':
## 
##     filter, lag
## Следующие объекты скрыты от 'package:base':
## 
##     intersect, setdiff, setequal, union
V14<-cli %>% 
  select(contains("V14"))
str(V14)
## tibble [913 × 12] (S3: tbl_df/tbl/data.frame)
##  $ V14_1     : dbl+lbl [1:913]  0,  0,  0, NA,  1,  1,  0,  1,  1, NA, NA,  0,  0,  0...
##    ..@ label      : chr "Резкие перепады температуры (от холода к теплу и наоборот)"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V14_2     : dbl+lbl [1:913]  1,  1,  1, NA,  0,  0,  1,  0,  0, NA, NA,  0,  0,  1...
##    ..@ label      : chr "Затяжные морозы, увеличение периодов аномального холода"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V14_3     : dbl+lbl [1:913]  0,  0,  0, NA,  1,  0,  0,  1,  0, NA, NA,  0,  0,  0...
##    ..@ label      : chr "Частые оттепели"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V14_4     : dbl+lbl [1:913]  0,  0,  0, NA,  0,  1,  0,  0,  0, NA, NA,  0,  1,  1...
##    ..@ label      : chr "Увеличение гололеда на дорогах"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V14_5     : dbl+lbl [1:913]  1,  1,  0, NA,  1,  1,  0,  0,  0, NA, NA,  0,  0,  1...
##    ..@ label      : chr "Обильные снегопады, увеличение снежного покрова"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V14_6     : dbl+lbl [1:913]  0,  0,  0, NA,  0,  0,  0,  0,  0, NA, NA,  0,  0,  0...
##    ..@ label      : chr "Сход снежных лавин"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V14_7     : dbl+lbl [1:913]  0,  0,  0, NA,  0,  0,  0,  0,  1, NA, NA,  0,  1,  0...
##    ..@ label      : chr "Увеличение количества пасмурных дней, нехватка солнца"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V14_8     : dbl+lbl [1:913]  0,  0,  0, NA,  0,  1,  0,  0,  0, NA, NA,  0,  0,  0...
##    ..@ label      : chr "Раннее таяние и более позднее образование речного льда"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V14_9     : dbl+lbl [1:913]  0,  0,  0, NA,  0,  0,  0,  0,  0, NA, NA,  0,  0,  0...
##    ..@ label      : chr "Участились ледовые зажоры, наледи на реках"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V14_10    : dbl+lbl [1:913]  1,  1,  1, NA,  0,  1,  0,  0,  1, NA, NA,  1,  0,  1...
##    ..@ label      : chr "Усилились ветра, метели и снежные наносы"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V14_88    : dbl+lbl [1:913]  0,  0,  0,  0,  0,  0,  0,  0, NA,  0,  0,  0,  0,  0...
##    ..@ label      : chr "Другое"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V14_88_txt: chr [1:913] "" "" "" "" ...
##   ..- attr(*, "label")= chr "Другое"
##   ..- attr(*, "format.spss")= chr "A4500"
dim(V14)
## [1] 913  12
names(V14)
##  [1] "V14_1"      "V14_2"      "V14_3"      "V14_4"      "V14_5"     
##  [6] "V14_6"      "V14_7"      "V14_8"      "V14_9"      "V14_10"    
## [11] "V14_88"     "V14_88_txt"
V14tab<-V14 %>% 
multi.table(true.codes=list("да"), freq=TRUE) %>% 
    as.data.frame() %>% 
  rename(Pct=`%multi`) %>% 
  arrange(desc(Pct))
V14tab
##              n  Pct
## V14_2      436 47.8
## V14_1      428 46.9
## V14_10     381 41.7
## V14_5      310 34.0
## V14_4      266 29.1
## V14_7      211 23.1
## V14_3      102 11.2
## V14_8       64  7.0
## V14_6       58  6.4
## V14_9       42  4.6
## V14_88      23  2.5
## V14_88_txt   0  0.0
library(sjlabelled)
## Warning: пакет 'sjlabelled' был собран под R версии 4.5.2
## 
## Присоединяю пакет: 'sjlabelled'
## Следующий объект скрыт от 'package:dplyr':
## 
##     as_label
## Следующие объекты скрыты от 'package:haven':
## 
##     as_factor, read_sas, read_spss, read_stata, write_sas, zap_labels
# Получаем метки для всех столбцов V14 (независимо от типа)
V14labs <- cli %>% 
  select(contains("V14")) %>% 
  get_label()

V14labs
##                                                        V14_1 
## "Резкие перепады температуры (от холода к теплу и наоборот)" 
##                                                        V14_2 
##    "Затяжные морозы, увеличение периодов аномального холода" 
##                                                        V14_3 
##                                            "Частые оттепели" 
##                                                        V14_4 
##                             "Увеличение гололеда на дорогах" 
##                                                        V14_5 
##            "Обильные снегопады, увеличение снежного покрова" 
##                                                        V14_6 
##                                         "Сход снежных лавин" 
##                                                        V14_7 
##      "Увеличение количества пасмурных дней, нехватка солнца" 
##                                                        V14_8 
##     "Раннее таяние и более позднее образование речного льда" 
##                                                        V14_9 
##                 "Участились ледовые зажоры, наледи на реках" 
##                                                       V14_10 
##                   "Усилились ветра, метели и снежные наносы" 
##                                                       V14_88 
##                                                     "Другое" 
##                                                   V14_88_txt 
##                                                     "Другое"
V14tab$n<-V14labs
V14tab
##                                                                     n  Pct
## V14_2      Резкие перепады температуры (от холода к теплу и наоборот) 47.8
## V14_1         Затяжные морозы, увеличение периодов аномального холода 46.9
## V14_10                                                Частые оттепели 41.7
## V14_5                                  Увеличение гололеда на дорогах 34.0
## V14_4                 Обильные снегопады, увеличение снежного покрова 29.1
## V14_7                                              Сход снежных лавин 23.1
## V14_3           Увеличение количества пасмурных дней, нехватка солнца 11.2
## V14_8          Раннее таяние и более позднее образование речного льда  7.0
## V14_6                      Участились ледовые зажоры, наледи на реках  6.4
## V14_9                        Усилились ветра, метели и снежные наносы  4.6
## V14_88                                                         Другое  2.5
## V14_88_txt                                                     Другое  0.0
library(ggplot2)
## Warning: пакет 'ggplot2' был собран под R версии 4.5.2
## 
## Присоединяю пакет: 'ggplot2'
## Следующий объект скрыт от 'package:sjlabelled':
## 
##     as_label
library(stringr)
library(forcats)
## Warning: пакет 'forcats' был собран под R версии 4.5.2
## 
## Присоединяю пакет: 'forcats'
## Следующий объект скрыт от 'package:sjlabelled':
## 
##     as_factor
library(scales)
## Warning: пакет 'scales' был собран под R версии 4.5.1
#| fig-width: 200%
V14tab %>%
  mutate(n = fct_reorder(n, Pct)) %>% # переставим местами уровни
ggplot(aes(x=n, y=Pct, fill=n)) + # создадим типовой график
  geom_bar(stat="identity", width = 0.6)+  # добавим geom
  geom_text(aes(label=number(Pct,accuracy=0.1, decimal.mark = ",")), hjust=-0.3, family = "Ink Free", size=4)+   # поработаем с подписями данных
  expand_limits(y=c(0,80))+# увеличим лимит оси 
  coord_flip()+  # перевернем график в горизонтальное положение
  theme_void()+   # добавим минималистичную тему
  theme(axis.text.y = element_text(size = 10, family = "Ink Free"))+    # установим шрифт для подписей
  theme(legend.position="none")+       # уберем легенду
  scale_x_discrete(labels = function(x) str_wrap(x, width = 30))       # Сделаем длинные подписи в несколько строк
## Warning in grid.Call(C_stringMetric, as.graphicsAnnot(x$label)): семейство
## шрифтов не найдено в базе данных шрифтов Windows
## Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, :
## семейство шрифтов не найдено в базе данных шрифтов Windows
## Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, :
## семейство шрифтов не найдено в базе данных шрифтов Windows

В зимний период респонденты чаще всего отмечают резкие перепады температуры (47,8%) и продолжительные морозы (46,9%). Таким образом, ключевая проблема зимнего сезона в восприятии респондентов — это нестабильность температурного режима и аномальные холода.

library(questionr)
library(dplyr)
V16<-cli %>% 
  select(contains("V16"))
str(V16)
## tibble [913 × 11] (S3: tbl_df/tbl/data.frame)
##  $ V16_1     : dbl+lbl [1:913]  1,  1,  0, NA,  1,  0,  1,  0,  1, NA, NA,  0,  0,  0...
##    ..@ label      : chr "Увеличение количества засушливых дней, без осадков"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V16_2     : dbl+lbl [1:913]  0,  1,  0, NA,  1,  1,  1,  0,  1, NA, NA,  0,  1,  0...
##    ..@ label      : chr "Увеличение периодов аномальной жары"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V16_3     : dbl+lbl [1:913]  0,  0,  0, NA,  0,  0,  0,  1,  1, NA, NA,  0,  0,  1...
##    ..@ label      : chr "Большое количество осадков, сильных дождей"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V16_4     : dbl+lbl [1:913]  0,  0,  0, NA,  0,  0,  0,  0,  0, NA, NA,  0,  0,  0...
##    ..@ label      : chr "Увеличение количества камнепадов и оползней в горах"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V16_5     : dbl+lbl [1:913]  0,  0,  0, NA,  0,  1,  0,  0,  0, NA, NA,  0,  0,  0...
##    ..@ label      : chr "Усилился паводок, разливы рек, затопление мест, которые раньше не затапливались"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V16_6     : dbl+lbl [1:913]  0,  0,  1, NA,  0,  0,  0,  0,  0, NA, NA,  0,  0,  0...
##    ..@ label      : chr "Таяние вечной мерзлоты, выход грунтовых вод на поверхность"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V16_7     : dbl+lbl [1:913]  1,  1,  0, NA,  0,  1,  0,  1,  1, NA, NA,  1,  1,  1...
##    ..@ label      : chr "Сильные ветры, штормы"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V16_8     : dbl+lbl [1:913]  0,  0,  0, NA,  0,  1,  0,  0,  1, NA, NA,  0,  0,  0...
##    ..@ label      : chr "Рост количества насекомых, комаров, мошки"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V16_9     : dbl+lbl [1:913]  0,  0,  1, NA,  1,  1,  0,  0,  1, NA, NA,  0,  0,  0...
##    ..@ label      : chr "Рост количества насекомых-вредителей, угрожающих сельскохозяйственным культурам, хвойным лесам"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V16_88    : dbl+lbl [1:913] 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, ...
##    ..@ label      : chr "Другое"
##    ..@ format.spss: chr "F8.0"
##    ..@ labels     : Named num [1:2] 0 1
##    .. ..- attr(*, "names")= chr [1:2] "нет" "да"
##  $ V16_88_txt: chr [1:913] "" "" "" "" ...
##   ..- attr(*, "label")= chr "Другое"
##   ..- attr(*, "format.spss")= chr "A4500"
dim(V16)
## [1] 913  11
names(V16)
##  [1] "V16_1"      "V16_2"      "V16_3"      "V16_4"      "V16_5"     
##  [6] "V16_6"      "V16_7"      "V16_8"      "V16_9"      "V16_88"    
## [11] "V16_88_txt"
V16tab<-V16 %>% 
multi.table(true.codes=list("да"), freq=TRUE) %>% 
    as.data.frame() %>% 
  rename(Pct=`%multi`) %>% 
  arrange(desc(Pct))
V16tab
##              n  Pct
## V16_7      406 44.5
## V16_3      392 42.9
## V16_1      326 35.7
## V16_2      290 31.8
## V16_8      221 24.2
## V16_5      173 18.9
## V16_9      142 15.6
## V16_6       80  8.8
## V16_4       57  6.2
## V16_88      34  3.7
## V16_88_txt   0  0.0
library(sjlabelled)

# Получаем метки для всех столбцов V14 (независимо от типа)
V16labs <- cli %>% 
  select(contains("V16")) %>% 
  get_label()

V16labs
##                                                                                            V16_1 
##                                             "Увеличение количества засушливых дней, без осадков" 
##                                                                                            V16_2 
##                                                            "Увеличение периодов аномальной жары" 
##                                                                                            V16_3 
##                                                     "Большое количество осадков, сильных дождей" 
##                                                                                            V16_4 
##                                            "Увеличение количества камнепадов и оползней в горах" 
##                                                                                            V16_5 
##                "Усилился паводок, разливы рек, затопление мест, которые раньше не затапливались" 
##                                                                                            V16_6 
##                                     "Таяние вечной мерзлоты, выход грунтовых вод на поверхность" 
##                                                                                            V16_7 
##                                                                          "Сильные ветры, штормы" 
##                                                                                            V16_8 
##                                                      "Рост количества насекомых, комаров, мошки" 
##                                                                                            V16_9 
## "Рост количества насекомых-вредителей, угрожающих сельскохозяйственным культурам, хвойным лесам" 
##                                                                                           V16_88 
##                                                                                         "Другое" 
##                                                                                       V16_88_txt 
##                                                                                         "Другое"
library(sjlabelled)

# Получаем метки для всех столбцов V14 (независимо от типа)
V16labs <- cli %>% 
  select(contains("V16")) %>% 
  get_label()

V16labs
##                                                                                            V16_1 
##                                             "Увеличение количества засушливых дней, без осадков" 
##                                                                                            V16_2 
##                                                            "Увеличение периодов аномальной жары" 
##                                                                                            V16_3 
##                                                     "Большое количество осадков, сильных дождей" 
##                                                                                            V16_4 
##                                            "Увеличение количества камнепадов и оползней в горах" 
##                                                                                            V16_5 
##                "Усилился паводок, разливы рек, затопление мест, которые раньше не затапливались" 
##                                                                                            V16_6 
##                                     "Таяние вечной мерзлоты, выход грунтовых вод на поверхность" 
##                                                                                            V16_7 
##                                                                          "Сильные ветры, штормы" 
##                                                                                            V16_8 
##                                                      "Рост количества насекомых, комаров, мошки" 
##                                                                                            V16_9 
## "Рост количества насекомых-вредителей, угрожающих сельскохозяйственным культурам, хвойным лесам" 
##                                                                                           V16_88 
##                                                                                         "Другое" 
##                                                                                       V16_88_txt 
##                                                                                         "Другое"
V16tab$n<-V16labs
V16tab
##                                                                                                         n
## V16_7                                                  Увеличение количества засушливых дней, без осадков
## V16_3                                                                 Увеличение периодов аномальной жары
## V16_1                                                          Большое количество осадков, сильных дождей
## V16_2                                                 Увеличение количества камнепадов и оползней в горах
## V16_8                     Усилился паводок, разливы рек, затопление мест, которые раньше не затапливались
## V16_5                                          Таяние вечной мерзлоты, выход грунтовых вод на поверхность
## V16_9                                                                               Сильные ветры, штормы
## V16_6                                                           Рост количества насекомых, комаров, мошки
## V16_4      Рост количества насекомых-вредителей, угрожающих сельскохозяйственным культурам, хвойным лесам
## V16_88                                                                                             Другое
## V16_88_txt                                                                                         Другое
##             Pct
## V16_7      44.5
## V16_3      42.9
## V16_1      35.7
## V16_2      31.8
## V16_8      24.2
## V16_5      18.9
## V16_9      15.6
## V16_6       8.8
## V16_4       6.2
## V16_88      3.7
## V16_88_txt  0.0
library(ggplot2)
library(stringr)
library(forcats)
library(scales)
#| fig-width: 200%
V16tab %>%
  mutate(n = fct_reorder(n, Pct)) %>% # переставим местами уровни
ggplot(aes(x=n, y=Pct, fill=n)) + # создадим типовой график
  geom_bar(stat="identity", width = 0.6)+  # добавим geom
  geom_text(aes(label=number(Pct,accuracy=0.1, decimal.mark = ",")), hjust=-0.3, family = "Ink Free", size=4)+   # поработаем с подписями данных
  expand_limits(y=c(0,80))+# увеличим лимит оси 
  coord_flip()+  # перевернем график в горизонтальное положение
  theme_void()+   # добавим минималистичную тему
  theme(axis.text.y = element_text(size = 10, family = "Ink Free"))+    # установим шрифт для подписей
  theme(legend.position="none")+       # уберем легенду
  scale_x_discrete(labels = function(x) str_wrap(x, width = 30))       # Сделаем длинные подписи в несколько строк
## Warning in grid.Call(C_textBounds, as.graphicsAnnot(x$label), x$x, x$y, :
## семейство шрифтов не найдено в базе данных шрифтов Windows
## Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, :
## семейство шрифтов не найдено в базе данных шрифтов Windows
## Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, :
## семейство шрифтов не найдено в базе данных шрифтов Windows

Наиболее остро респонденты ощущают увеличение засушливых дней (44,5%) и периодов аномальной жары (43,0%). Это указывает на то, что главная климатическая проблема в восприятии респондентов — это засуха и жара.

regionandage<-as.data.frame(sjmisc::flat_table(cli, Region, age_cats3, margin = "row", digits = 1))
library(ggplot2)
library(scales)#нужна для того, чтобы отформатировать подпись
ggplot(data=regionandage, aes(x=Region, y=Freq, fill=age_cats3)) +
  geom_bar(stat="identity", position="dodge", width = 0.6)+
  geom_text(aes(label=number(Freq,accuracy=0.1, decimal.mark = ",")),  position = position_dodge(width = 0.6), hjust=-0.3, family = "Arial", size=4)+
  coord_flip()+
  theme_void()+
  expand_limits(y=c(0,100))+
  theme(axis.text.y = element_text(size = 10, family = "Arial"))+
  scale_x_discrete(limits=rev)+
  theme(legend.position="bottom")+
  theme(legend.title=element_blank())
## Warning in grid.Call(C_stringMetric, as.graphicsAnnot(x$label)): семейство
## шрифтов не найдено в базе данных шрифтов Windows
## Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, :
## семейство шрифтов не найдено в базе данных шрифтов Windows
## Warning in grid.Call.graphics(C_text, as.graphicsAnnot(x$label), x$x, x$y, :
## семейство шрифтов не найдено в базе данных шрифтов Windows

Алтайский край: примерно равная доля населения приходится на группы «31–49 лет» и «50 лет и старше»

Республика Алтай: наибольшая доля приходится на группу «31–49 лет»

Республика Тыва:самая высокая доля молодёжи (до 30 лет) среди представленных регионов. Преобладает группа «31–49 лет», а доля старшего поколения — наименьшая.

V14Regiontab<-cross.multi.table(V14, cli$Region, true.codes=list("да"), freq=TRUE)
V14Regiontab<-as_tibble(V14Regiontab)
V14Regiontab$n<-V14labs
V14Regiontab<-V14Regiontab %>% 
  relocate(n)
V14Regiontab
## # A tibble: 12 × 5
##    n                                                       `1`   `2`   `3`   `4`
##    <chr>                                                 <dbl> <dbl> <dbl> <dbl>
##  1 Резкие перепады температуры (от холода к теплу и нао…  63.5  43.3  31.8     0
##  2 Затяжные морозы, увеличение периодов аномального хол…  25.5  63    44.3     0
##  3 Частые оттепели                                        17.9   9.4   5.7     0
##  4 Увеличение гололеда на дорогах                         23.4  29.6  36.5     0
##  5 Обильные снегопады, увеличение снежного покрова        22.6  39.7  37       0
##  6 Сход снежных лавин                                      2.2   9     6.2     0
##  7 Увеличение количества пасмурных дней, нехватка солнца  17.5  26.7  22.9     0
##  8 Раннее таяние и более позднее образование речного ль…   7.7   8.1   3.6     0
##  9 Участились ледовые зажоры, наледи на реках              1.8   6.7   3.6     0
## 10 Усилились ветра, метели и снежные наносы               34.7  47.3  39.1     0
## 11 Другое                                                  0     4.5   1.6     0
## 12 Другое                                                  0     0     0       0

`

library(tidyr)
## Warning: пакет 'tidyr' был собран под R версии 4.5.2
library(ggplot2)
library(scales)


# Переименовываем колонки
names(V14Regiontab) <- c("V14", "Алтайский_край", "Республика_Алтай", "Республика_Тыва", "Монголия")

# Преобразуем в длинный формат
df_long <- pivot_longer(V14Regiontab, 
                        cols = c("Алтайский_край", "Республика_Алтай", 
                                 "Республика_Тыва", "Монголия"),
                        names_to = "Region", 
                        values_to = "Freq")

# Убираем строки с нулевыми значениями (Монголия)
df_long <- df_long %>% filter(Freq > 0)

# Строим график (убираем family="Arial" чтобы избежать предупреждений о шрифтах)
ggplot(data = df_long, aes(x = V14, y = Freq, fill = Region)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) +
  geom_text(aes(label = label_number(accuracy = 0.1, decimal.mark = ",")(Freq)), 
            position = position_dodge(width = 0.8), 
            hjust = -0.2, 
            size = 3.5) +
  coord_flip() +
  labs(x = NULL, y = "Проценты (%)") +
  theme_minimal() +
  expand_limits(y = c(0, 70)) +
  theme(axis.text.y = element_text(size = 10),
        axis.text.x = element_text(size = 9),
        legend.position = "bottom",
        legend.title = element_blank())

Алтайский край больше всего страдает от перепадов температур, а Республики Алтай и Тыва — от затяжных морозов.

V16Regiontab<-cross.multi.table(V16, cli$Region, true.codes=list("да"), freq=TRUE)
V16Regiontab<-as_tibble(V16Regiontab)
V16Regiontab$n<-V16labs
V16Regiontab<-V16Regiontab %>% 
  relocate(n)
V16Regiontab
## # A tibble: 11 × 5
##    n                                                       `1`   `2`   `3`   `4`
##    <chr>                                                 <dbl> <dbl> <dbl> <dbl>
##  1 Увеличение количества засушливых дней, без осадков     23.7  45.3  30.7     0
##  2 Увеличение периодов аномальной жары                    39.1  31.4  22.4     0
##  3 Большое количество осадков, сильных дождей             60.2  34.1  39.1     0
##  4 Увеличение количества камнепадов и оползней в горах     0.7   8.3   9.4     0
##  5 Усилился паводок, разливы рек, затопление мест, кото…   6.9  27.6  16.1     0
##  6 Таяние вечной мерзлоты, выход грунтовых вод на повер…   2.6  14.8   3.6     0
##  7 Сильные ветры, штормы                                  29.2  52.2  48.4     0
##  8 Рост количества насекомых, комаров, мошки              26.6  26.5  15.6     0
##  9 Рост количества насекомых-вредителей, угрожающих сел…  20.8  15.9   7.3     0
## 10 Другое                                                  0.4   5.6   4.2     0
## 11 Другое                                                  0     0     0       0
library(tidyr)
library(ggplot2)
library(scales)


# Переименовываем колонки
names(V16Regiontab) <- c("V16", "Алтайский_край", "Республика_Алтай", "Республика_Тыва", "Монголия")

# Преобразуем в длинный формат
df_long <- pivot_longer(V16Regiontab, 
                        cols = c("Алтайский_край", "Республика_Алтай", 
                                 "Республика_Тыва", "Монголия"),
                        names_to = "Region", 
                        values_to = "Freq")

# Убираем строки с нулевыми значениями (Монголия)
df_long <- df_long %>% filter(Freq > 0)

# Строим график (убираем family="Arial" чтобы избежать предупреждений о шрифтах)
ggplot(data = df_long, aes(x = V16, y = Freq, fill = Region)) +
  geom_bar(stat = "identity", position = position_dodge(width = 0.8), width = 0.7) +
  geom_text(aes(label = label_number(accuracy = 0.1, decimal.mark = ",")(Freq)), 
            position = position_dodge(width = 0.8), 
            hjust = -0.2, 
            size = 3.5) +
  coord_flip() +
  labs(x = NULL, y = "Проценты (%)") +
  theme_minimal() +
  expand_limits(y = c(0, 70)) +
  theme(axis.text.y = element_text(size = 10),
        axis.text.x = element_text(size = 9),
        legend.position = "bottom",
        legend.title = element_blank())

Летние климатические риски воспринимаются по-разному: Алтайский край беспокоят большое количество осадков,сильных дождей (60.2%), Республику Алтай и Республику Тыва— сильные ветры и штормы (52,2 и 48,6 соответственно).