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의 조건에 따라 데이터 프레임에서 행을 제거하는 방법