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() 함수를 사용하는 방법