library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
dataset <-read_delim("C:/Users/MSKR/MASTER'S_ADS/STATISTICS_SEM1/DATA_SET_1.csv", delim = ",")
## Rows: 4424 Columns: 37
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (1): Target
## dbl (36): Marital status, Application mode, Application order, Course, Dayti...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

{r} dataset}

1. Let’s find the relation between Marital status of a person and Unemployment rate when the data is recorded.

df1<-dataset_1|>
  group_by(marital_status)|>
  summarise(avg_UER=mean(`Unemployment rate`),min_UER=min(`Unemployment rate`),max_UER=max(`Unemployment rate`),count=n() )

df1

Visualizing the above metrics using a box plot ( a bar plot would have been a better plot than box, but sine the values are very close to eachh other, it may not show minimal differences better in bar plot. so using a box plot):

p<-dataset_1|>
  ggplot() +
  geom_boxplot(mapping = aes(x = marital_status , y =`Unemployment rate` )) +
 labs(title="Average Unemployment Rate") +  #labels!
 theme_minimal()

p

2. Now let’s find the pattern between Marital status of a student and their previous grades before enrolling into the course.

df2<-dataset_1|>
  group_by(`marital_status`)|>
  summarise(avg_PrvGrade=mean(`Previous qualification (grade)`),min_PrvGrade=min(`Previous qualification (grade)`),max_PrvGrade=max(`Previous qualification (grade)`), count=n())|>
arrange(desc(avg_PrvGrade))
df2

3. Let us examine the trend in Day/evening attendance of student sand their 1st semester results after enrolling into the course.

In “Daytime/evening attendance", ‘1’ refers to Day time and ‘0’ refers to evening.

df3<-dataset_1|>
  group_by(`Daytime/evening attendance  `)|>
  summarise(avg_1st_sem=mean(`Curricular units 1st sem (grade)`),min_1st_sem=min(`Curricular units 1st sem (grade)`),max_1st_sem=max(`Curricular units 1st sem (grade)`), count=n())|>
  arrange(desc(avg_1st_sem))

df3

Hypothesis: The reason for the students to have minority/least probability in “widower” category might be a fallout in data provision of the survey or it might be a personal choice of those students in this category to not to disclose/participate in the data collection survey.