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