z <- runif(1000, min = -1, max = 1)
hist(z)
z <- runif(100000, min = -1, max = 1)
hist(z)
# zaokruhlene hodnoty
tabulka <- prop.table(table(round(z)))
tabulka

prichody <- runif(2, min = 0, max = 120)
prichody
abs(prichody[1] - prichody[2])
abs(prichody[2] - prichody[1])
x <- c(1, 3, 4, 10, 5)
diff(x)
diff(prichody)
abs(diff(prichody))


priklad1 <- function(){
  prichody <- runif(2, min = 0, max = 120) # dva body, nezavisle rovnomerne na (0, 120)
  rozdiel <- abs(prichody[1] - prichody[2])
  return(rozdiel < 15)
}
priklad1()

x <- 1:4
y <- c(2, 3, 10, 1)
x + y
x - y
x*y
abs(c(-1, 1, -3))

set.seed(123)
N <- 3

romeo <- runif(N, min = 0, max = 120) # N prichodov Romea
julia <- runif(N, min = 0, max = 120) # N prichodov Julie
rozdiely <- abs(romeo - julia)        # prislusne rozdiely 
simulacie_priklad1b <- rozdiely < 15  # vysledok: porovnanie s 15

romeo
julia
rozdiely
simulacie_priklad1b

set.seed(123)
N <- 10^4 # zmensime pre lepsie kreslenie

romeo <- runif(N, min = 0, max = 120) # N prichodov Romea
julia <- runif(N, min = 0, max = 120) # N prichodov Julie
rozdiely <- abs(romeo - julia)        # prislusne rozdiely

farba <- ifelse(rozdiely < 15, "blue", "red") # uzitocna funkcia `ifelse`

plot(romeo, julia, col = farba, asp = 1, pch = 20)

(14400 - 105^2)/14400

legend("topright",
       legend = c("stretnu sa", "nestretnu sa"),
       col = c("blue", "red"),
       pch = 20)

set.seed(123)
N <- 10^4

romeo <- runif(N, min = 0, max = 120)
julia <- runif(N, min = 0, max = 120)

# dataframe - stplce mozu mat rozny typ (cislo, retazec, logicka hodnota, ...)
df <- data.frame(romeo = romeo,
                 julia = julia,
                 rozdiely = abs(romeo - julia)
)
head(df)
df$romeo
head(df$romeo)

df$stretnutie <- df$rozdiely < 15

head(df) # head = zaciatok

library(ggplot2)

ggplot(df, aes(x = romeo, y = julia, color = stretnutie)) +
  geom_point(size = 1) + # geom_point - bodovy graf + nastavime velkost bodov
  scale_color_manual(    # nastavenie farieb
    values = c("TRUE" = "blue", "FALSE" = "red"),
    name = "Stretnuie"
  ) +
  labs(x = "Romeo", y = "Julia") + # popis osi
  theme_minimal() +                # bez siveho podkladu
  coord_fixed()                    # ekvivalent `asp = 1`

# Aká je pravdepodobnosť, 
# že žiadna z tých častí nebude dlhšia ako 3/4?

# ak x <= y
x <- 0.1
y <- 0.9
dlzky <- c(x, y - x, 1 -y)
dlzky
podmienka <- dlzky > 3/4
all(!podmienka)

# ak x > y
x <- 0.7
y <- 0.5
dlzky <- c(y, x - y, 1 - x)
dlzky

if(x < y) {
  dlzky <- c(x, y - x, 1 -y)
} else {
  dlzky <- c(y, x - y, 1 - x)
}
dlzky
podmienka <- dlzky > 3/4
all(!podmienka)

pocet_ziaroviek <- 10
ocakavana_zivotnost <- 1
zivotnosti <- rexp(pocet_ziaroviek, rate = 1/ocakavana_zivotnost)
zivotnosti
sum(zivotnosti)

ziarovky <- function(pocet_ziaroviek, ocakavana_zivotnost){
  zivotnosti <- rexp(pocet_ziaroviek, rate = 1/ocakavana_zivotnost)
  return(sum(zivotnosti))
}

ziarovky_simulacia <- replicate(10^5, ziarovky(10, 1))
hist(ziarovky_simulacia)
mean(ziarovky_simulacia)
var(ziarovky_simulacia)
