# taglia della popolazione e del campione ---------------------------------

# numero studenti aula ("popolazione")
N <- 22
# dimensione del campione da estrarre
n <- 5


# dimensione dello spazio campionario -------------------------------------

# numero campioni ordinati senza ripetizione
factorial(N) / factorial(N - n)
# numero campioni ordinati con ripetizione
N^n
# numero campioni non ordinati senza ripetizione
choose(N, n)
# numero campioni non ordinati con ripetizione
choose(N + n - 1, n)


# campione osservato ------------------------------------------------------
# (Nome | Apple o Android | Occhiali?)
#---------------------------------------
# 1) PIO / APPLE / NO
# 2) RAFFAELE / ANDROID / SI
# 3) MORENA / APPLE / NO
# 4) CRISTINA / ANDROID / SI
# 5) MANISH / APPLE / SI

# popolazione (nomi degli studenti in aula)
id <- c("Cristina", "Desirè", "Morena",
        "Marco", "Claudia", "Giusy",
        "Berta", "Silvia", "Raffaele",
        "Lorenzo", "Davide", "Pio",
        "Carmen", "Gianluca", "Antonio D.",
        "Antonio B.", "Federico", "Manish",
        "Luigi", "Luca", "Valerio", "Tommaso")
# sistema operativo Apple sul telefono?
apple <- c("no", "sì", "sì", "sì", "sì",
           "sì", "sì", "sì", "no", "no",
           "no", "sì", "no", "no", "no",
           "no", "sì", "sì", "no", "no",
           "no", "no")


# caratteristiche della popolazione ---------------------------------------

# tabella di frequenza della variabile Apple
table(apple)
# "tabella di probabilità" della variabile Apple
# somiglia ad una Bernoulli?
prop.table(table(apple)) |> round(3)

# imposto il seme
set.seed(22)
# un esempio di campione osservato
sample(id, size = 5, replace = TRUE)
# un altro esempio di campione osservato
sample(id, size = 5, replace = TRUE)


# spazio campionario ------------------------------------------------------

# package che permette di ottenere l'elenco esaustativo di tutti
# i possibili campioni
library(gtools)

# spazio campionario nel caso di campionamento con rimessa
# (campioni ordinati)
spazio_campionario <- permutations(n = 22,
                                   r = 5,
                                   v = id,
                                   set = FALSE,
                                   repeats.allowed = TRUE)
nrow(spazio_campionario)

# spazio campionario nel caso di campionamento con rimessa
# (campioni ordinati)
spazio_campionario_norep <- permutations(n = 22,
                                         r = 5,
                                         v = id,
                                         set = FALSE,
                                         repeats.allowed = FALSE)
nrow(spazio_campionario_norep)

