Come utilizzare la funzione replicate() in r (con esempi)
È possibile utilizzare la funzione replicate() per valutare ripetutamente un’espressione in R un certo numero di volte.
Questa funzione utilizza la seguente sintassi di base:
replicare (n, espressione)
Oro:
- n : il numero di volte per valutare ripetutamente un’espressione.
- expr : l’espressione da valutare.
I seguenti esempi mostrano come utilizzare questa funzione nella pratica.
Esempio 1: replicare un valore più volte
Il codice seguente mostra come utilizzare la funzione replicate() per valutare ripetutamente un singolo valore più volte:
#replicate the value 3 exactly 10 times replicate(n= 10,3 ) [1] 3 3 3 3 3 3 3 3 3 3 #replicate the letter 'A' exactly 7 times replicate(n= 7 , ' A ') [1] “A” “A” “A” “A” “A” “A” “A” #replicate FALSE exactly 5 times replicate(n= 5 , FALSE ) [1] FALSE FALSE FALSE FALSE FALSE
Esempio 2: replicare una funzione più volte
Supponiamo ora di voler valutare ripetutamente una funzione.
Ad esempio, supponiamo di utilizzare la funzione rnorm() per produrre tre valori per una variabile casuale che segue una distribuzione normale con media pari a 0 e deviazione standard pari a 1:
#make this example reproducible
set. seeds (1)
#generate 3 values that follow normal distribution
rnorm(3, mean= 0 , sd= 1 )
[1] -0.6264538 0.1836433 -0.8356286
Utilizzando la funzione replicate() , possiamo valutare ripetutamente questa funzione rnorm() un certo numero di volte.
Ad esempio, possiamo valutare questa funzione 5 volte:
#make this example reproducible
set. seeds (1)
#generate 3 values that follow normal distribution (replicate this 4 times)
replicate(n= 4 , rnorm(3, mean= 0 , sd= 1 ))
[,1] [,2] [,3] [,4]
[1,] 1.5952808 0.4874291 -0.3053884 -0.6212406
[2,] 0.3295078 0.7383247 1.5117812 -2.2146999
[3,] -0.8204684 0.5757814 0.3898432 1.1249309
Il risultato è una matrice di 3 righe e 4 colonne.
O forse vorremmo valutare questa funzione 6 volte:
#make this example reproducible
set. seeds (1)
#generate 3 values that follow normal distribution (replicate this 6 times)
replicate(n= 6 , rnorm(3, mean= 0 , sd= 1 ))
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1.5952808 0.4874291 -0.3053884 -0.6212406 -0.04493361 0.8212212
[2,] 0.3295078 0.7383247 1.5117812 -2.2146999 -0.01619026 0.5939013
[3,] -0.8204684 0.5757814 0.3898432 1.1249309 0.94383621 0.9189774
Il risultato è una matrice di 6 righe e 3 colonne.
Utilizzare replicate() per simulare i dati
La funzione replicate() è particolarmente utile per eseguire simulazioni.
Ad esempio, supponiamo di voler generare 5 campioni di dimensione n = 10 che seguano ciascuno una distribuzione normale.
Possiamo utilizzare la funzione replicate() per produrre 5 campioni diversi e possiamo quindi utilizzare la funzione colMeans() per trovare il valore medio di ciascun campione:
#make this example reproducible set. seeds (1) #create 5 samples each of size n=10 data <- replicate(n=5, rnorm(10, mean= 0 , sd= 1 )) #view samples data [,1] [,2] [,3] [,4] [,5] [1,] -0.6264538 1.51178117 0.91897737 1.35867955 -0.1645236 [2,] 0.1836433 0.38984324 0.78213630 -0.10278773 -0.2533617 [3,] -0.8356286 -0.62124058 0.07456498 0.38767161 0.6969634 [4,] 1.5952808 -2.21469989 -1.98935170 -0.05380504 0.5566632 [5,] 0.3295078 1.12493092 0.61982575 -1.37705956 -0.6887557 [6,] -0.8204684 -0.04493361 -0.05612874 -0.41499456 -0.7074952 [7,] 0.4874291 -0.01619026 -0.15579551 -0.39428995 0.3645820 [8,] 0.7383247 0.94383621 -1.47075238 -0.05931340 0.7685329 [9,] 0.5757814 0.82122120 -0.47815006 1.10002537 -0.1123462 [10,] -0.3053884 0.59390132 0.41794156 0.76317575 0.8811077 #calculate mean of each sample colMeans(data) [1] 0.1322028 0.2488450 -0.1336732 0.1207302 0.1341367
Dal risultato possiamo vedere:
- La media del primo campione è 0,1322 .
- La media del secondo campione è 0,2488 .
- La media del terzo campione è -0,1337 .
E così via.
Risorse addizionali
Come selezionare colonne specifiche in R
Come rimuovere le colonne dal frame di dati in R
Come rimuovere le righe dal frame di dati in base alla condizione in R