Hoe de functie replicate() in r te gebruiken (met voorbeelden)


U kunt de functie repliceren() gebruiken om een expressie in R een bepaald aantal keren herhaaldelijk te evalueren.

Deze functie gebruikt de volgende basissyntaxis:

repliceren (n, expr)

Goud:

  • n : Het aantal keren dat een expressie herhaaldelijk moet worden geëvalueerd.
  • expr : De expressie die moet worden geëvalueerd.

De volgende voorbeelden laten zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld 1: Repliceer een waarde meerdere keren

De volgende code laat zien hoe u de functie repliceren() gebruikt om één waarde meerdere keren herhaaldelijk te evalueren:

 #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

Voorbeeld 2: Repliceer een functie meerdere keren

Stel nu dat we een functie herhaaldelijk willen evalueren.

Stel dat we bijvoorbeeld de functie rnorm() gebruiken om drie waarden te produceren voor een willekeurige variabele die een normale verdeling volgt met een gemiddelde van 0 en een standaarddeviatie van 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

Door de functie repliceren() te gebruiken, kunnen we deze functie rnorm() een aantal keren herhaaldelijk evalueren.

We kunnen deze functie bijvoorbeeld 5 keer evalueren:

 #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

Het resultaat is een matrix van 3 rijen en 4 kolommen.

Of misschien willen we deze functie zes keer evalueren:

 #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

Het resultaat is een matrix van 6 rijen en 3 kolommen.

Gebruik replicate() om gegevens te simuleren

De functie repliceren() is vooral handig voor het uitvoeren van simulaties.

Stel dat we bijvoorbeeld vijf steekproeven willen genereren met de grootte n = 10, die elk een normale verdeling volgen.

We kunnen de functie repliceren() gebruiken om 5 verschillende monsters te produceren en we kunnen vervolgens de functie colMeans() gebruiken om de gemiddelde waarde van elk monster te vinden:

 #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

Uit het resultaat kunnen we zien:

  • Het gemiddelde van het eerste monster is 0,1322 .
  • Het gemiddelde van het tweede monster is 0,2488 .
  • Het gemiddelde van het derde monster is -0,1337 .

Enzovoort.

Aanvullende bronnen

Hoe specifieke kolommen in R te selecteren
Hoe kolommen uit het dataframe te verwijderen in R
Hoe rijen uit het dataframe te verwijderen op basis van de voorwaarde in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert