# Obiettivo: simulare dati per poter fare test.
# Es. per simulare il lancio di un dado funzione sample
sample(1:6, 4, replace = TRUE) # simulo 4 lanci di dado
# Replaced = TRUE reinserisce il numero dopo ogni lancio, per simulare le
# estrazioni di una partita a tombola replaced = FALSE.
# E' possibile impostare la probabilità di ciascun evento.
# Es. lancio 100 volte moneta che ha il 30% di probabilità di dare croce (0) e il
# 70% testa (1)
sample(c(0,1), 100, replace = TRUE, prob = c(0.3, 0.7))
# Ogni variabile casuale in R ha una funzione per le simulazioni (col nome di
# r[variabilecasuale]).
# Es. binomiale, che replica l'es. di prima
rbinom(1, size = 100, prob = 0.7) # numero di teste in 100 lanci
# (prob 0.7)
rbinom(100, size = 1, prob = 0.7) # elenco dei risultati dei
# 100 lanci
# Es. normale
rnorm(10) # genera 10 numeri random da una normale standard (media =
# 0, sd = 1)
rnorm(10,100,25) # genera 10 numeri random da una normale con media
# = 100 e sd = 25
# replicate() consente di replicare n volte un'operazione.
# es. simulare 100 gruppi di numeri random, ognuno dei quali contiene 5
# valori generati da una Poisson con media 10.
replicate(100, rpois(5, 10))
# Creata una matrice in cui ogni colonna contiene i 5 numeri generati dalla
# Poisson con media 10.
# Con colMeans() possiamo vedere la media di ciascuna colonna.
colMeans(replicate(100, rpois(5, 10)))
# Facendo un'istogramma delle medie vediamo che sono distribuite come
# una normale, come da teorema del limite centrale
hist(colMeans(replicate(100, rpois(5, 10))))
# Funzione utilissima per le simulazioni è set.seed(), poichè consente di
# replicare esattamente il campione creato. Es.
set.seed(125) # 125 numero intero preso a caso, possiamo utilizzare
# qualsiasi integer
sample(1:6, 4, replace = TRUE)
# Ogni volta che faccio precedere quest'ultima funzione con set.seed(125) il
# risultato sarà sempre 5, 1, 2, 3. In questo modo è possibile far replicare
# esattamente il risultato di un lavoro da chiunque passandogli il codice.
Categories
Bash
(3)
BOT
(2)
C#
(1)
Cluster Analysis
(1)
Data Cleaning
(6)
Data Ingestion
(2)
Data Science Specialization
(10)
Data Visualization
(15)
ggplot2
(1)
Hadoop
(1)
Hashnode
(3)
Machine Learning
(5)
MapReduce
(1)
Maps
(1)
Markdown
(7)
Market Basket Analysis
(1)
MATLAB
(1)
Matplotlib
(3)
Numpy
(2)
Octave
(1)
Pandas
(3)
Python
(17)
R
(22)
Regression
(7)
scikit-learn
(1)
Seaborn
(1)
Shell
(3)
Shiny App
(1)
SSIS
(3)
Statistical Inference
(2)
T-SQL
(8)
Unix
(3)
No comments:
Post a Comment