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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *