R에서 replicate() 함수를 사용하는 방법(예제 포함)


Replicate() 함수를 사용하면 R의 표현식을 특정 횟수만큼 반복적으로 평가할 수 있습니다.

이 함수는 다음 기본 구문을 사용합니다.

복제(n, expr)

금:

  • n : 표현식을 반복적으로 평가하는 횟수입니다.
  • expr : 평가할 표현식입니다.

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예시 1: 값을 여러 번 복제

다음 코드는 plicate() 함수를 사용하여 단일 값을 여러 번 반복적으로 평가하는 방법을 보여줍니다.

 #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

예시 2: 함수를 여러 번 복제

이제 함수를 반복적으로 평가한다고 가정해 보겠습니다.

예를 들어 rnorm() 함수를 사용하여 평균이 0이고 표준편차가 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

복제() 함수를 사용하면 이 rnorm() 함수를 여러 번 반복적으로 평가할 수 있습니다.

예를 들어, 이 함수를 5번 평가할 수 있습니다:

 #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

결과는 3행 4열의 행렬입니다.

아니면 이 함수를 6번 평가하고 싶을 수도 있습니다.

 #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

결과는 6개의 행과 3개의 열로 구성된 행렬입니다.

복제()를 사용하여 데이터 시뮬레이션

복제() 함수는 시뮬레이션을 실행하는 데 특히 유용합니다.

예를 들어, 각각 정규 분포를 따르는 크기 n = 10의 5개 표본을 생성한다고 가정합니다.

Replicate() 함수를 사용하여 5개의 서로 다른 샘플을 생성한 다음 colMeans() 함수를 사용하여 각 샘플의 평균값을 찾을 수 있습니다.

 #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

결과에서 우리는 다음을 볼 수 있습니다:

  • 첫 번째 표본의 평균은 0.1322 입니다.
  • 두 번째 표본의 평균은 0.2488 입니다.
  • 세 번째 표본의 평균은 -0.1337 입니다.

등등.

추가 리소스

R에서 특정 열을 선택하는 방법
R의 데이터 프레임에서 열을 제거하는 방법
R의 조건에 따라 데이터 프레임에서 행을 제거하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다