R에서 set.seed를 사용하는 방법(및 시기)


R의 set.seed() 함수는 임의의 값을 취하는 변수를 생성하는 코드를 작성할 때 반복 가능한 결과를 생성하는 데 사용됩니다.

set.seed() 함수를 사용하면 코드를 실행할 때마다 동일한 무작위 값이 생성되도록 보장할 수 있습니다.

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

set.seed(시드)

금:

  • 시드 : 원하는 숫자.

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

예시 1: set.seed()를 사용하지 않고 임의의 값 생성

rnorm() 함수를 사용하여 표준 정규 분포를 따르는 임의의 값을 취하는 세 개의 변수가 있는 데이터 프레임을 생성한다고 가정합니다.

 #create data frame
df <- data. frame (var1 = rnorm(10),
                 var2 = rnorm(10),
                 var3 = rnorm(10))

#view data frame
df

          var1 var2 var3
1 0.13076685 -0.32183484 0.08083558
2 0.93926332 0.92271464 1.14695121
3 1.97227368 0.01140237 0.29325751
4 1.99656555 0.26735086 1.17131155
5 -1.07893403 -0.12748185 -0.75510058
6 -0.58955485 -0.29720114 0.57928670
7 1.39367811 -1.43043111 -0.39395086
8 -0.09977302 -1.93133994 -0.66654713
9 -0.71876371 2.27999183 0.45990405
10 0.90421007 2.28077581 0.57545709

rnorm()을 사용하여 동일한 데이터 프레임을 다시 생성하려고 하면 set.seed() 함수를 사용하지 않았기 때문에 값이 동일할 것이라는 보장이 없습니다.

 #create data frame
df <- data. frame (var1 = rnorm(10),
                 var2 = rnorm(10),
                 var3 = rnorm(10))

#view data frame
df

         var1 var2 var3
1 0.1841698 1.18134622 -0.9410759
2 -1.3535924 -0.73136515 -0.2802438
3 1.0323083 0.06530416 -1.3447057
4 -0.6540649 -0.45005680 1.1222456
5 0.5201189 -0.03688566 -0.6317776
6 0.6119033 -0.13083390 0.7034120
7 -0.1781823 0.56807218 0.2138826
8 -0.1325103 1.10700318 -0.6799447
9 -0.6185180 0.12327017 -0.2411492
10 -0.2699959 -0.04093012 0.5289240

데이터 프레임의 각 열에 대한 값은 완전히 다릅니다.

예시 2: set.seed()를 사용하여 임의의 값 생성

다음 코드는 rnorm () 함수를 사용하여 임의의 값을 취하는 세 개의 변수가 있는 데이터 프레임을 생성하기 전에 set.seed() 함수 를 사용하는 방법을 보여줍니다.

 #make this example reproducible
set. seeds (7)

#create data frame
df <- data. frame (var1 = rnorm(10),
                 var2 = rnorm(10),
                 var3 = rnorm(10))

#view data frame
df

         var1 var2 var3
1 2.2872472 0.356986230 0.8397504
2 -1.1967717 2.716751783 0.7053418
3 -0.6942925 2.281451926 1.3059647
4 -0.4122930 0.324020540 -1.3879962
5 -0.9706733 1.896067067 1.2729169
6 -0.9472799 0.467680511 0.1841928
7 0.7481393 -0.893800723 0.7522799
8 -0.1169552 -0.307328300 0.5917451
9 0.1526576 -0.004822422 -0.9830526
10 2.1899781 0.988164149 -0.2760640

이전과 동일한 시드 값으로 set.seed()를 사용하고 데이터 프레임을 다시 생성하면 이전 데이터 프레임과 동일한 값을 갖는 것이 보장됩니다.

 #make this example reproducible
set. seeds (7)

#create data frame
df2 <- data. frame (var1 = rnorm(10),
                  var2 = rnorm(10),
                  var3 = rnorm(10))

#view data frame
df2

         var1 var2 var3
1 2.2872472 0.356986230 0.8397504
2 -1.1967717 2.716751783 0.7053418
3 -0.6942925 2.281451926 1.3059647
4 -0.4122930 0.324020540 -1.3879962
5 -0.9706733 1.896067067 1.2729169
6 -0.9472799 0.467680511 0.1841928
7 0.7481393 -0.893800723 0.7522799
8 -0.1169552 -0.307328300 0.5917451
9 0.1526576 -0.004822422 -0.9830526
10 2.1899781 0.988164149 -0.2760640

이 데이터 프레임의 값은 이전 데이터 프레임의 값과 일치합니다.

참고 : 이 예에서는 시작 값으로 7을 사용하도록 선택했지만 0, 54, 99, 100, 48787 등 원하는 숫자를 선택할 수 있습니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 기능을 사용하는 방법을 설명합니다.

R에서 Dim() 함수를 사용하는 방법
R에서 table() 함수를 사용하는 방법
R에서 sign() 함수를 사용하는 방법

의견을 추가하다

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