####################
###  1. zadatak  ###
####################

library(dplyr)

data("iris")

## 1. (a)

iris %>%
  summarise(
    range_sepal_length = max(Sepal.Length) - min(Sepal.Length),
    var_sepal_length = var(Sepal.Length),
    
    range_sepal_width = max(Sepal.Width) - min(Sepal.Width),
    var_sepal_width = var(Sepal.Width),
    
    range_petal_length = max(Petal.Length) - min(Petal.Length),
    var_petal_length = var(Petal.Length),
    
    range_petal_width = max(Petal.Width) - min(Petal.Width),
    var_petal_width = var(Petal.Width)
  )

## 1. (b)

iris %>%
  mutate(Petal.Ratio = Petal.Length / Petal.Width) %>%
  group_by(Species) %>%
  summarise(mean_ratio = mean(Petal.Ratio)) %>%
  arrange(mean_ratio)

## 1. (v)

iris %>%
  group_by(Species) %>%
  summarise(
    prosecan_sepal_length = mean(Sepal.Length),
    medijana_sepal_width = median(Sepal.Width),
    max_petal_length = max(Petal.Length)
  )

####################
###  2. zadatak  ###
####################

library(dslabs)
library(ggplot2)
library(tidyr)

data(murders)
elections_state <- read.csv("C:/Users/Stefan Malbasic/Desktop/presidential_election_2016.csv")

## 2. (a)

clinton_trump <- elections_state %>%
  filter(name %in% c("D. Trump", "H. Clinton")) %>%
  select(state, name, vote_pct, electoral_votes) %>%
  spread(key = name, value = vote_pct) %>%
  rename(trump_pct = `D. Trump`, clinton_pct = `H. Clinton`) %>%
  mutate(
    trump_margin = trump_pct - clinton_pct
  )


## 2. (b)

anti_join(murders, clinton_trump, by = "state")

analiza <- inner_join(murders, clinton_trump, by = "state") 

## 2. (v)

analiza <- analiza %>%
  mutate(
    murder_rate = total / population * 100000,
    murder_level = ifelse(
      murder_rate < 2, "low",
      ifelse(murder_rate <= 5, "medium", "high")
    )
  )

## 2. (g)

analiza %>%
  group_by(murder_level) %>%
  summarise(prosecni_glasovi = mean(electoral_votes, na.rm = TRUE))

## 2. (d)

analiza %>%
  group_by(region, murder_level) %>%
  summarise(prosecna_margina = mean(trump_margin, na.rm = TRUE)) %>%
  ggplot(aes(x = region, y = prosecna_margina, fill = murder_level)) +
  geom_col(position = "dodge") +
  labs(title = "Трампова предност по региону и нивоу убистава", y = "Разлика (%)") +
  theme_minimal()

## 2. (dj)

analiza %>%
  ggplot(aes(x = murder_rate, y = trump_margin)) +
  geom_point(size = 3) +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(title = "Стопа убистава и Трампова предност", x = "Стопа убистава", y = "Предност (%)") +
  theme_minimal()

