Введение

Представлен эксплораторный анализ данных анкетирования абитуриентов бакалавриата НИУ ВШЭ Москва за время последней приемной кампании 2019 года. Вначале показана общая социально-демографическая информация об абитуриентах, затем представлены результаты анкетирования абитуриентов перед поступлением, а также результаты оценки некоторых суждений относительно высшего образования в целом.

Ответы на все вопросы представлены в разрезе бинарной переменной: поступил ли в итоге абитуриент на бюджет или нет. В общем и целом, прослеживается повторяющийся тренд: в контексте любого вопроса, около 20% абитуриентов поступили на бюджет. Никаких явных перевесов в сторону бОльшей вероятности поступления на бюджет не обнаружено.

Перед началом анализа применялась следующая фильтрация: рассматривались только абитуриенты из Российской Федерации возрастом от 17 до 20 лет.

Краткое описание соц.-демографического профиля абитуриентов

В среднем около 20% всех абитуриентов поступают на бюджет. Абитуриенты в возрасте 17-18 лет поступают на бюджет, в среднем, с вероятностью 19 %, в то время как 19-ие абитуриенты поступают с вероятностью почти в 25 %, что, вероятно, символизирует неудачную попытку поступления в 17-18 и усиленную подготовку в течение года после окончания школы, что, соответственно, статистически повышает шансы на поступление.

Что касается гендерного распределения поступивших, в целом не выявлено никаких весомых различий: около 20% как парней, так и девушек поступают на бюджет.

Также было выявлено, что среди абитуриентов, нуждающихся в общежитии от университета, более 1/4 в итоге поступили на бюджет, в то время как лишь каждый десятый не нуждающийся в общежитии поступил на бюджет. Результаты приведены за исключением абитуриентов из Москвы и МО. Наконец, важно отметить, что наибольший процент поступивших на бюджет - это абитуриенты НЕ из Москвы, МО и Санкт-Петербурга, как можно было бы предполагать. В Топ 3 региона с наибольшим процентом успешных поступлений входят Самарская область, Башкортостан и Татарстан соответственно в порядке убывания. В данных регионах процент успешных поступлений составлял 26-27 %.

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

Краткое описание результатов анкетирования

В результатах анкетирования по-прежнему сохраняется все тот же тренд: вне зависимости от вопроса, около 20 % абитуриентов поступают на бюджет. Так, факт дополнительной подготовки к поступлению увеличивает, но всего на несколько процентов, вероятность поступить на бюджет. Так же как и участи в мероприятиях НИУ ВШЭ и участие во Всероссийской Олимпиаде школьников. Аналогичную прибавку в пару процентов к вероятности успешного поступления дает наличие приоритетной образовательной программы, а также наличие только одного (или максимум двух) приоритетных ВУЗов для подачи документов.

Результаты анализа ответов на другие вопросы также показывают, что давность решения о поступлении в определенный ВУЗ значительно влияет на вероятность поступить на бюджет. Так решение о поступлении, принятое более одного учебного года назад от момента подачи документов, по статистике увеличивает шансы поступить на бюджет почти в 2 раза (по сравнению с решением, принятым в летние месяцы приемной кампании). Таким образом, чем раньше принято конкретное решение, тем выше вероятность успешного поступления.

Краткое описание результатов анализа оценочных суждений

Личные приоритеты абитуриентов также влияют на вероятность успешного поступления. Было обнаружено, что абитуриенты с целью поступить в конкретный ВУЗ или в конкретный ВУЗ И на конкретное направление имеют наибольшие шансы поступить на бюджет (около 22% в среднем). В то время как абитуриенты, целью которых являлось поступить на конкретное напрвление, НО в любой ВУЗ или в принципе в целом лишь получить высшее образование где угодно, имели наименьшие шансы поступления на бюджет (17 % и 15 % соответственно).

Из тех абитуриентов, кто выразил согласие с утверждением “Высшее образование обеспечивает человеку успешную карьеру и облегчает достижение жизненных целей”, около 35 % успешно поступили на бюджет, в то время как среди не согласных - лишь около 26 %.

Из тех абитуриентов, кто выразил согласие с утверждением “Без высшего образования человек обречен на низкооплачиваемую и непрестижную работы”, около 33 % абитуриентов успешно поступили на бюджет, однако среди не согласных с утверждением процент успешных поступлений составил около 35 %!

Из тех абитуриентов, кто выразил согласие с утверждением “Значимость высшего образование часто преувеличивают, в наше время и без него можно сделать хорошую карьеру”, в среднем 33 % успешно поступили на бюджет, в то время как среди не согласных с утверждением - в среднем 32 %.

Эксплораторный анализ данных за 2019 год

Исследование социально-демографической информации об абитуриентах

age = hse19 %>%  
      group_by(Age, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),2))

a <-ggplot(data = na.omit(subset(age, select = c(Age, adm_budget, count, perc))), 
       aes(x = Age, y = count, fill = forcats::fct_rev(adm_budget))) + 
       geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill") + 
       geom_text(aes(label = ifelse(adm_budget == "бюджет", perc, "             %")), y = 0.1, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно", perc, "             %")), y = 0.7, size = 3) +
       scale_y_continuous(labels = scales::percent)+
       labs(title = "Распределение поступивших на бюджет\nпо возрасту
            ", y  = "", x = "Возраст") +
       theme_minimal() +
       guides(fill = F)+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 10),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 10))

hse19$Sex[hse19$Sex == 1] = "М"
hse19$Sex[hse19$Sex == 0] = "Ж"
hse19$Sex = as.factor(hse19$Sex)

gender = hse19 %>%  
      group_by(Sex, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

b <- ggplot(data = na.omit(subset(gender, select = c(Sex, adm_budget, count, perc))), 
       aes(x = Sex, y = count, fill = forcats::fct_rev(adm_budget))) + 
       geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill") + 
       geom_text(aes(label = ifelse(adm_budget == "бюджет", perc, "             %")), y = 0.1, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно", perc, "             %")), y = 0.7, size = 3) +
       scale_y_continuous(labels = scales::percent)+
       labs(title = "Распределение поступивших\nна бюджет по полу
            ", y  = "", x = "") +
       theme_minimal() +
       guides(fill=guide_legend(title= "Результат поступления:"))+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 10),
       plot.title = element_text(hjust = 0.1), title = element_text(size = 10))

region_top = hse19 %>% group_by(`Region$D`) %>% summarise(count = n()) %>% top_n(10,count)

region = hse19 %>% filter(`Region$D` %in% region_top$`Region$D`) %>% group_by(`Region$D`, adm_budget) %>% summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1)) %>% select(`Region$D`, adm_budget, count, perc) %>% group_by(adm_budget) %>% arrange(perc)%>%
mutate(`Region$D`=factor(`Region$D`, levels=`Region$D`))

#region %>% select(`Region$D`, adm_budget, count, perc) %>% na.omit() %>% group_by(adm_budget) %>% arrange(-perc) %>% mutate(`Region$D`=factor(`Region$D`, levels=`Region$D`))
  
c <- ggplot(data = region, aes(x = `Region$D`, y = count, fill = fct_rev(adm_budget))) +
     geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill")+
     geom_text(aes(label = ifelse(adm_budget == "бюджет", perc, "          %")), 
               y = 0.07, size = 3) +
     geom_text(aes(label = ifelse(adm_budget == "не поступил/платно", 
                                  perc, "           %")), y = 0.8, size = 3) +
     scale_y_continuous(labels = scales::percent)+
     labs(title = "Распределение поступивших на бюджет\nв Топ 10 наиболее популярных регионах
", y = "", x = "") +
     theme_minimal() +
     guides(fill = F)+
     coord_flip()+
     scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
     theme(text = element_text(size = 10),
     plot.title = element_text(hjust = 1), title = element_text(size = 10))

hse19$HostelReq[hse19$HostelReq == 1] = "нужно"
hse19$HostelReq[hse19$HostelReq == 0] = "не нужно"
hse19$HostelReq = as.factor(hse19$HostelReq)

hostel = hse19 %>% filter(`Region$D` != "Москва" & `Region$D` != "Московская область") %>% 
      group_by(HostelReq, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

d <- ggplot(hostel, aes(x = HostelReq, y = count, fill = forcats::fct_rev(adm_budget))) + 
       geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill") + 
       geom_text(aes(label = ifelse(adm_budget == "бюджет", perc, "             %")), y = 0.07, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно", perc, "             %")), y = 0.7, size = 3) +
       scale_y_continuous(labels = scales::percent)+
       labs(title = "Распределение поступивших на бюджет\nи необходимость общежития
            ", y  = "", x = "") +
       theme_minimal() +
       guides(fill = F)+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 10),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 10))
grid.arrange(a,b,d,c, nrow = 2)

#val_lab(hse19$Q99)

hse19$Q99[hse19$Q99 == 1] = "Живем крайне экономно, на ежедневные расходы хватает,\nа покупка одежды уже представляет трудность"
hse19$Q99[hse19$Q99 == 2] = "На еду и одежду хватает, но покупка крупной бытовой\nтехники без обращения к кредиту проблематична"
hse19$Q99[hse19$Q99 == 3] = "В целом обеспечены, но не можем позволить себе\nдорогостоящие приобретения без кредита"
hse19$Q99[hse19$Q99 == 4] = "Хорошо обеспечены, можем достаточно легко позволить\nсебе покупку автомобиля или дорогостоящий отдых"
hse19$Q99 = as.factor(hse19$Q99)

hse19$Q99 = ordered(hse19$Q99, levels = c("Живем крайне экономно, на ежедневные расходы хватает,\nа покупка одежды уже представляет трудность","На еду и одежду хватает, но покупка крупной бытовой\nтехники без обращения к кредиту проблематична","В целом обеспечены, но не можем позволить себе\nдорогостоящие приобретения без кредита","Хорошо обеспечены, можем достаточно легко позволить\nсебе покупку автомобиля или дорогостоящий отдых"))

Q99 = hse19 %>% select(Q99, adm_budget) %>% na.omit() %>%  
      group_by(Q99, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

ggplot(Q99 %>% filter(Q99 != 98 & Q99 != 99), aes(x = Q99, y = count, fill = fct_rev(adm_budget))) +
     geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill")+
     geom_text(aes(label = ifelse(adm_budget == "бюджет", perc, "          %")), 
               y = 0.05, size = 4) +
     geom_text(aes(label = ifelse(adm_budget == "не поступил/платно", 
                                  perc, "           %")), y = 0.8, size = 4) +
     scale_y_continuous(labels = scales::percent)+
     labs(title = "Как Вы оцениваете материальное положение своей семьи?
", y = "", x = "") +
     theme_minimal() +
     guides(fill=guide_legend(title= "Результат поступления:", nrow = 1))+
     coord_flip()+
     scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
     theme(text = element_text(size = 12),legend.position = "bottom", 
           legend.text = element_text(size = 11),
     plot.title = element_text(hjust = 0.1), title = element_text(size = 10))

Исследование результатов анкетирования абитуриентов

#val_lab(hse19$prep_1)
hse19$prep_1[hse19$prep_1 == 1] = "да"
hse19$prep_1[hse19$prep_1 == 98] = "нет"
hse19$prep_1 = as.factor(hse19$prep_1)

prep_1 = hse19 %>% select(prep_1, adm_budget) %>% na.omit() %>%  
      group_by(prep_1, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

e <- ggplot(prep_1, aes(x = prep_1, y = count, fill = forcats::fct_rev(adm_budget))) + 
       geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill") +
  
       geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("",perc," %"),"")), y = 0.1, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("",perc,"%"),"")), y = 0.7, size = 3) + 
       
       geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("n =",count,""),"")), y = 0.05, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("n =",count,""),"")), y = 0.65, size = 3) +
       
       scale_y_continuous(labels = scales::percent)+
       labs(title = "Занимался ли абитуриент дополнительно\nпри подготовке к поступлению?
            ", y  = "", x = "") +
       theme_minimal() +
       guides(fill = F)+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 10))


#val_lab(hse19$event)
hse19$event[hse19$event == 1] = "да"
hse19$event[hse19$event == 98] = "нет"
hse19$event[hse19$event == 9] = "нет"
hse19$event = as.factor(hse19$event)

event = hse19 %>% select(event, adm_budget) %>% na.omit() %>%  
      group_by(event, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

f <- ggplot(event, aes(x = event, y = count, fill = forcats::fct_rev(adm_budget))) + 
       geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill") +
  
       geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("",perc," %"),"")), y = 0.1, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("",perc,"%"),"")), y = 0.7, size = 3) + 
       
       geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("n =",count,""),"")), y = 0.05, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("n =",count,""),"")), y = 0.65, size = 3) +
       
       scale_y_continuous(labels = scales::percent)+
       labs(title = "Участвовал ли абитуриент\nв каких-либо мероприятиях НИУ ВШЭ?
            ", y  = "", x = "") +
       theme_minimal() +
       guides(fill=guide_legend(title= "Результат поступления:"))+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 10))

#val_lab(hse19$adv)
hse19$adv[hse19$adv == 1] = "да"
hse19$adv[hse19$adv == 98] = "нет"
hse19$adv = as.factor(hse19$adv)

adv = hse19 %>% select(adv, adm_budget) %>% na.omit() %>%  
      group_by(adv, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

g <- ggplot(adv, aes(x = adv, y = count, fill = forcats::fct_rev(adm_budget))) + 
       geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill") +
  
       geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("",perc," %"),"")), y = 0.1, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("",perc,"%"),"")), y = 0.7, size = 3) + 
       
       geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("n =",count,""),"")), y = 0.05, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("n =",count,""),"")), y = 0.65, size = 3) +
       
       scale_y_continuous(labels = scales::percent)+
       labs(title = "Советовали ли абитуриенту\nпоступать в НИУ ВШЭ?
            ", y  = "", x = "") +
       theme_minimal() +
       guides(fill = F)+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 10))

#val_lab(hse19$olimp)
hse19$olimp[hse19$olimp == 1] = "да"
hse19$olimp[hse19$olimp == 98] = "нет"
hse19$olimp[hse19$olimp == 2] = "да"
hse19$olimp[hse19$olimp == 9] = "нет"
hse19$olimp = as.factor(hse19$olimp)

olimp = hse19 %>% select(olimp, adm_budget) %>% na.omit() %>%  
      group_by(olimp, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

h <- ggplot(olimp, aes(x = olimp, y = count, fill = forcats::fct_rev(adm_budget))) + 
       geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill") +
  
       geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("",perc," %"),"")), y = 0.1, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("",perc,"%"),"")), y = 0.7, size = 3) + 
       
       geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("n =",count,""),"")), y = 0.05, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("n =",count,""),"")), y = 0.65, size = 3) +
       
       scale_y_continuous(labels = scales::percent)+
       labs(title = "Участвовал ли абитуриент во\nВсероссийской Олимпиаде школьников?
            ", y  = "", x = "") +
       theme_minimal() +
       guides(fill = F)+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 10))
grid.arrange(e,f,g,h, nrow = 2)

hse19$prep_1_1[hse19$prep_1_1 == 1] = "да"
hse19$prep_1_1[is.na(hse19$prep_1_1)] = "нет"
hse19$prep_1_1 = as.factor(hse19$prep_1_1)
prep_1_1 = hse19 %>% select(prep_1_1, adm_budget) %>% group_by(prep_1_1, adm_budget) %>% summarise(count = n())%>% mutate(perc = round((count/sum(count)*100),1)) %>% mutate(lab = "Индивидуальные занятия с учителем из своей школы")

one <- ggplot(prep_1_1, aes(x = prep_1_1, y = count, group = adm_budget)) + 
       geom_col(aes(fill = fct_rev(adm_budget)), color = "black", alpha = 0.5, position = "dodge") +
       geom_text(aes(label= paste("",perc,"%"), group = adm_budget), position=position_dodge(0.9), vjust = -0.5, size = 3)+
       labs(title = "Посещал ли абитуриент индивидуальные\nзанятия с учителем из своей школы?
            ", y  = "", x = "") +
       theme_minimal() +
       scale_y_continuous(breaks = 0:7100*2000, limits = c(0,7100)) +
       guides(fill = F)+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 9))

hse19$prep_1_3[hse19$prep_1_3 == 1] = "да"
hse19$prep_1_3[is.na(hse19$prep_1_3)] = "нет"
hse19$prep_1_3 = as.factor(hse19$prep_1_3)
prep_1_3 = hse19 %>% select(prep_1_3, adm_budget) %>% group_by(prep_1_3, adm_budget) %>% summarise(count = n())%>% mutate(perc = round((count/sum(count)*100),1)) %>% mutate(lab = "Занятия с репетитором")

two <- ggplot(prep_1_3, aes(x = prep_1_3, y = count, group = adm_budget)) + 
       geom_col(aes(fill = fct_rev(adm_budget)), color = "black", alpha = 0.5, position = "dodge") +
       geom_text(aes(label= paste("",perc,"%"), group = adm_budget), position=position_dodge(0.9), vjust = -0.5, size = 3)+
       labs(title = "Посещал ли абитуриент занятия\nс репетитором?
            ", y  = "", x = "") +
       theme_minimal() +
       scale_y_continuous(breaks = 0:6350*2000, limits = c(0,6350)) +
       guides(fill = F)+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 9))

hse19$prep_1_4[hse19$prep_1_4 == 1] = "да"
hse19$prep_1_4[is.na(hse19$prep_1_4)] = "нет"
hse19$prep_1_4 = as.factor(hse19$prep_1_4)
prep_1_4 = hse19 %>% select(prep_1_4, adm_budget) %>% group_by(prep_1_4, adm_budget) %>% summarise(count = n())%>% mutate(perc = round((count/sum(count)*100),1))%>% mutate(lab = "Посещение дополнительных факультативов в своей школе")

three <- ggplot(prep_1_4, aes(x = prep_1_4, y = count, group = adm_budget)) + 
       geom_col(aes(fill = fct_rev(adm_budget)), color = "black", alpha = 0.5, position = "dodge") +
       geom_text(aes(label= paste("",perc,"%"), group = adm_budget), position=position_dodge(0.9), vjust = -0.5, size = 3)+
       labs(title = "Посещал ли абитуриент\nдополнительные занятия в своей школе?
            ", y  = "", x = "") +
       theme_minimal() +
       scale_y_continuous(breaks = 0:9200*2000, limits = c(0,9200)) +
       guides(fill = F)+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 9))

hse19$prep_1_7[hse19$prep_1_7 == 1] = "да"
hse19$prep_1_7[is.na(hse19$prep_1_7)] = "нет"
hse19$prep_1_7 = as.factor(hse19$prep_1_7)
prep_1_7 = hse19 %>% select(prep_1_7, adm_budget) %>% group_by(prep_1_7, adm_budget) %>% summarise(count = n())%>% mutate(perc = round((count/sum(count)*100),1))%>% mutate(lab = "Посещение курсов в центры подготовки к ЕГЭ")

four <- ggplot(prep_1_7, aes(x = prep_1_7, y = count, group = adm_budget)) + 
       geom_col(aes(fill = fct_rev(adm_budget)), color = "black", alpha = 0.5, position = "dodge") +
       geom_text(aes(label= paste("",perc,"%"), group = adm_budget), position=position_dodge(0.9), vjust = -0.5, size = 3)+
       labs(title = "Посещал ли абитуриент курсы \nв центрах подготовки к ЕГЭ?
            ", y  = "", x = "") +
       theme_minimal() +
       guides(fill = F)+
       scale_y_continuous(breaks = 0:9700*2000, limits = c(0,9700)) +
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 9))

hse19$prep_1_10[hse19$prep_1_10 == 1] = "да"
hse19$prep_1_10[is.na(hse19$prep_1_10)] = "нет"
hse19$prep_1_10 = as.factor(hse19$prep_1_10)
prep_1_10 = hse19 %>% select(prep_1_10, adm_budget) %>% group_by(prep_1_10, adm_budget) %>% summarise(count = n())%>% mutate(perc = round((count/sum(count)*100),1))%>% mutate(lab = "Самостоятельная подготовка")

five <- ggplot(prep_1_10, aes(x = prep_1_10, y = count, group = adm_budget)) + 
       geom_col(aes(fill = fct_rev(adm_budget)), color = "black", alpha = 0.5, position = "dodge") +
       geom_text(aes(label= paste("",perc,"%"), group = adm_budget), position=position_dodge(0.9), vjust = -0.5, size = 3)+
       labs(title = "Занимался ли абитуриент \nсамостоятельно?
            ", y  = "", x = "") +
       theme_minimal() +
       guides(fill = F)+
       scale_y_continuous(breaks = 0:7100*2000, limits = c(0,7100)) +
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 9))

hse19$prep_1_6[hse19$prep_1_6 == 1] = "да"
hse19$prep_1_6[is.na(hse19$prep_1_6)] = "нет"
hse19$prep_1_6 = as.factor(hse19$prep_1_6)
prep_1_6 = hse19 %>% select(prep_1_6, adm_budget) %>% group_by(prep_1_6, adm_budget) %>% summarise(count = n())%>% mutate(perc = round((count/sum(count)*100),1))%>% mutate(lab = "Посещение курсов при местных университетах (не НИУ ВШЭ)")

six <- ggplot(prep_1_6, aes(x = prep_1_6, y = count, group = adm_budget)) + 
       geom_col(aes(fill = fct_rev(adm_budget)), color = "black", alpha = 0.5, position = "dodge") +
       geom_text(aes(label= paste("",perc,"%"), group = adm_budget), position=position_dodge(0.9), vjust = -0.5, size = 3)+
       labs(title = "Посещал ли абитуриент курсы\nпри местных университетах?
            ", y  = "", x = "") +
       theme_minimal() +
       scale_y_continuous(breaks = 0:10100*2000, limits = c(0,10100)) +
       guides(fill = F)+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 9))
grid.arrange(one, two, three, four, five, six, nrow = 2)

#val_lab(hse19$dec)

hse19$dec[hse19$dec == 1] = "июль"
hse19$dec[hse19$dec == 2] = "май-июнь"
hse19$dec[hse19$dec == 3] = "январь-апрель"
hse19$dec[hse19$dec == 4] = "сентябрь-декабрь"
hse19$dec[hse19$dec == 5] = "сентябрь-август"
hse19$dec[hse19$dec == 6] = "ранее сентября"
hse19$dec[hse19$dec == 99] = "затрудняюсь ответить"

hse19$dec = as.factor(hse19$dec)

dec = hse19 %>% select(dec, adm_budget) %>% na.omit %>%  group_by(dec, adm_budget) %>% summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1)) %>% select(dec, adm_budget, count, perc) %>% group_by(adm_budget) %>% arrange(perc)%>%
mutate(dec=factor(dec, levels=dec))

gr1 <- ggplot(dec %>% filter(dec != "затрудняюсь ответить"), aes(x = dec, y = count, fill = fct_rev(adm_budget))) +
     geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill")+
     geom_text(aes(label = ifelse(adm_budget == "бюджет", perc, "          %")), 
               y = 0.07, size = 3) +
     geom_text(aes(label = ifelse(adm_budget == "не поступил/платно", 
                                  perc, "           %")), y = 0.8, size = 3) +
     scale_y_continuous(labels = scales::percent)+
     labs(title = "Распределение поступивших на бюджет\nв зависимости от давности решения о поступлении
", y = "", x = "") +
     theme_minimal() +
     guides(fill = F)+
     coord_flip()+
     scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
     theme(text = element_text(size = 10),
     plot.title = element_text(hjust = 0.5), title = element_text(size = 10))


hse19$prior_1_log = grepl("^\\s*$", hse19$prior_1)

hse19$prior_1_log[hse19$prior_1_log == TRUE] = "нету"
hse19$prior_1_log[hse19$prior_1_log == FALSE] = "есть"
hse19$prior_1_log = as.factor(hse19$prior_1_log)

prior_1_log = hse19 %>% select(prior_1_log, adm_budget) %>% na.omit() %>%  
      group_by(prior_1_log, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

gr2 <- ggplot(prior_1_log, aes(x = prior_1_log, y = count, fill = forcats::fct_rev(adm_budget))) + 
       geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill") +
  
       geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("",perc," %"),"")), y = 0.1, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("",perc,"%"),"")), y = 0.7, size = 3) + 
       
       #geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("n =",count,""),"")), y = 0.05, size = 3) +
       #geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("n =",count,""),"")), y = 0.65, size = 3) +
       
       scale_y_continuous(labels = scales::percent)+
       labs(title = "Есть ли у абитуриента\nприоритетная образовательная программа?
            ", y  = "", x = "") +
       theme_minimal() +
       guides(fill = F)+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 10))

#val_lab(hse19$news)
hse19$news[hse19$news == 1] = "да, слежу"
hse19$news[hse19$news == 98] = "нет, не слежу"
hse19$news = as.factor(hse19$news)

news = hse19 %>% select(news, adm_budget) %>% na.omit() %>%  
      group_by(news, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

gr3 <- ggplot(news, aes(x = news, y = count, fill = forcats::fct_rev(adm_budget))) + 
       geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill") +
  
       geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("",perc," %"),"")), y = 0.1, size = 3) +
       geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("",perc,"%"),"")), y = 0.7, size = 3) + 
       
       #geom_text(aes(label = ifelse(adm_budget == "бюджет",paste("n =",count,""),"")), y = 0.05, size = 3) +
       #geom_text(aes(label = ifelse(adm_budget == "не поступил/платно",paste("n =",count,""),"")), y = 0.65, size = 3) +
       
       scale_y_continuous(labels = scales::percent)+
       labs(title = "Следит ли у абитуриента за новостями\nНИУ ВШЭ в соц.сетях?
            ", y  = "", x = "") +
       theme_minimal() +
       guides(fill = F)+
       scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
       theme(text = element_text(size = 11),
       plot.title = element_text(hjust = 0.5), title = element_text(size = 10))

#val_lab(hse19$uni_2)
hse19$uni_2[hse19$uni_2 == 1] = "1 приоритетный ВУЗ"
hse19$uni_2[hse19$uni_2 == 2] = "2 приоритетных ВУЗа"
hse19$uni_2[hse19$uni_2 == 3] = "неопределенный приоритет"
hse19$uni_2[hse19$uni_2 == 4] = "мне всё равно"
hse19$uni_2 = as.factor(hse19$uni_2)

uni_2 = hse19 %>% select(uni_2, adm_budget) %>% na.omit %>%  group_by(uni_2, adm_budget) %>% summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1)) %>% select(uni_2, adm_budget, count, perc) %>% group_by(adm_budget) %>% arrange(perc) %>%
mutate(uni_2=factor(uni_2, levels=uni_2))

gr4 <- ggplot(uni_2 %>% filter(uni_2 != 98), aes(x = uni_2, y = count, fill = fct_rev(adm_budget))) +
     geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill")+
     geom_text(aes(label = ifelse(adm_budget == "бюджет", perc, "          %")), 
               y = 0.05, size = 3) +
     geom_text(aes(label = ifelse(adm_budget == "не поступил/платно", 
                                  perc, "           %")), y = 0.8, size = 3) +
     scale_y_continuous(labels = scales::percent)+
     labs(title = "Распределение поступивших на бюджет\nв зависимости от наличия приоритетного ВУЗа
", y = "", x = "") +
     theme_minimal() +
     guides(fill = F)+
     coord_flip()+
     scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
     theme(text = element_text(size = 10),
     plot.title = element_text(hjust = 0.9), title = element_text(size = 10))
grid.arrange(gr1, gr2, gr3, gr4, nrow =2)

Исследование результатов оценочных суждений о высшем образовании в целом

hse19$uni_3[hse19$uni_3 == 1] = "Важно поступить на конкретное направление\nподготовки в конкретный вуз"
hse19$uni_3[hse19$uni_3 == 2] = "Важно поступить в конкретный вуз\nна любое направление подготовки"
hse19$uni_3[hse19$uni_3 == 3] = "Важно поступить на конкретное направление\nподготовки в любой вуз"
hse19$uni_3[hse19$uni_3 == 4] = "Важно только получить высшее образование"
hse19$uni_3 = as.factor(hse19$uni_3)

#5 и 99 фильтрануть
uni_3 = hse19 %>% select(uni_3, adm_budget) %>% na.omit %>%  group_by(uni_3, adm_budget) %>% summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1)) %>% select(uni_3, adm_budget, count, perc) %>% group_by(adm_budget) %>% arrange(perc) %>%
mutate(uni_3=factor(uni_3, levels=uni_3))

graph1 <- ggplot(uni_3 %>% filter(uni_3 != 98 & uni_3 != 5 & uni_3 != 99), aes(x = uni_3, y = count, fill = fct_rev(adm_budget))) +
     geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill")+
     geom_text(aes(label = ifelse(adm_budget == "бюджет", perc, "          %")), 
               y = 0.05, size = 3) +
     geom_text(aes(label = ifelse(adm_budget == "не поступил/платно", 
                                  perc, "           %")), y = 0.8, size = 3) +
     scale_y_continuous(labels = scales::percent)+
     labs(title = "Распределение поступивших\nна бюджет в зависимости от\nличных приоритетов
", y = "", x = "") +
     theme_minimal() +
     guides(fill = F)+
     coord_flip()+
     scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
     theme(text = element_text(size = 11),
     plot.title = element_text(hjust = 1), title = element_text(size = 10))

#var_lab(hse19$Q62_r1)

hse19$Q62_r1[hse19$Q62_r1 == 1] = "Совершенно не согласен"
hse19$Q62_r1[hse19$Q62_r1 == 2] = "Скорее не согласен"
hse19$Q62_r1[hse19$Q62_r1 == 3] = "Скорее согласен"
hse19$Q62_r1[hse19$Q62_r1 == 4] = "Полностью согласен"
hse19$Q62_r1 = as.factor(hse19$Q62_r1)

hse19$Q62_r1 = ordered(hse19$Q62_r1, levels = c("Совершенно не согласен","Скорее не согласен","Скорее согласен","Полностью согласен"))

Q62_r1 = hse19 %>% select(Q62_r1, adm_budget) %>% na.omit() %>%  
      group_by(Q62_r1, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

graph2 <- ggplot(Q62_r1 %>% filter(Q62_r1 != 98 & Q62_r1 != 5 & Q62_r1 != 99), aes(x = Q62_r1, y = count, fill = fct_rev(adm_budget))) +
     geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill")+
     geom_text(aes(label = ifelse(adm_budget == "бюджет", perc, "          %")), 
               y = 0.05, size = 3) +
     geom_text(aes(label = ifelse(adm_budget == "не поступил/платно", 
                                  perc, "           %")), y = 0.8, size = 3) +
     scale_y_continuous(labels = scales::percent)+
     labs(title = "Высшее образование обеспечивает человеку успешную\nкарьеру и облегчает достижение жизненных целей
", y = "", x = "") +
     theme_minimal() +
     guides(fill = F)+
     coord_flip()+
     scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
     theme(text = element_text(size = 11),
     plot.title = element_text(hjust = 0.9), title = element_text(size = 10))

#var_lab(hse19$Q62_r2)

hse19$Q62_r2[hse19$Q62_r2 == 1] = "Совершенно не согласен"
hse19$Q62_r2[hse19$Q62_r2 == 2] = "Скорее не согласен"
hse19$Q62_r2[hse19$Q62_r2 == 3] = "Скорее согласен"
hse19$Q62_r2[hse19$Q62_r2 == 4] = "Полностью согласен"
hse19$Q62_r2 = as.factor(hse19$Q62_r2)

hse19$Q62_r2 = ordered(hse19$Q62_r2, levels = c("Совершенно не согласен","Скорее не согласен","Скорее согласен","Полностью согласен"))

Q62_r2 = hse19 %>% select(Q62_r2, adm_budget) %>% na.omit() %>%  
      group_by(Q62_r2, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

graph3 <- ggplot(Q62_r2 %>% filter(Q62_r2 != 98 & Q62_r2 != 99), aes(x = Q62_r2, y = count, fill = fct_rev(adm_budget))) +
     geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill")+
     geom_text(aes(label = ifelse(adm_budget == "бюджет", perc, "          %")), 
               y = 0.05, size = 3) +
     geom_text(aes(label = ifelse(adm_budget == "не поступил/платно", 
                                  perc, "           %")), y = 0.8, size = 3) +
     scale_y_continuous(labels = scales::percent)+
     labs(title = "Значимость высшего образования часто преувеличивают,\nв наше время и без него можно сделать удачную\nкарьеру и устроить свою жизнь
", y = "", x = "") +
     theme_minimal() +
     guides(fill = F)+
     coord_flip()+
     scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
     theme(text = element_text(size = 11),
     plot.title = element_text(hjust = 0.9), title = element_text(size = 10))

#var_lab(hse19$Q62_r3)

hse19$Q62_r3[hse19$Q62_r3 == 1] = "Совершенно не согласен"
hse19$Q62_r3[hse19$Q62_r3 == 2] = "Скорее не согласен"
hse19$Q62_r3[hse19$Q62_r3 == 3] = "Скорее согласен"
hse19$Q62_r3[hse19$Q62_r3 == 4] = "Полностью согласен"
hse19$Q62_r3 = as.factor(hse19$Q62_r3)

hse19$Q62_r3 = ordered(hse19$Q62_r3, levels = c("Совершенно не согласен","Скорее не согласен","Скорее согласен","Полностью согласен"))

Q62_r3 = hse19 %>% select(Q62_r3, adm_budget) %>% na.omit() %>%  
      group_by(Q62_r3, adm_budget) %>% 
      summarise(count = n()) %>% mutate(perc = round((count/sum(count)*100),1))

graph4 <- ggplot(Q62_r3 %>% filter(Q62_r3 != 98 & Q62_r3 != 99), aes(x = Q62_r3, y = count, fill = fct_rev(adm_budget))) +
     geom_bar(stat = "identity", color = "black", alpha = 0.5, position = "fill")+
     geom_text(aes(label = ifelse(adm_budget == "бюджет", perc, "          %")), 
               y = 0.05, size = 3) +
     geom_text(aes(label = ifelse(adm_budget == "не поступил/платно", 
                                  perc, "           %")), y = 0.8, size = 3) +
     scale_y_continuous(labels = scales::percent)+
     labs(title = "Без высшего образования человек обречен на\nнизкооплачиваемую и непрестижную работу
", y = "", x = "") +
     theme_minimal() +
     guides(fill = F)+
     coord_flip()+
     scale_fill_manual(values = wes_palette("Rushmore1")[2:3])+
     theme(text = element_text(size = 11),
     plot.title = element_text(hjust = 0.9), title = element_text(size = 10))
grid.arrange(graph2, graph1,graph3, graph4,  nrow =2)