반응형
- 난수(Random number) 란?
난수는 일정한 범위 안에서 무작위로 추출된 수를 의미한다. 영어로 Random number로 쓰이는 것처럼 예측할 수 없고, 정해지지 않은 임의로 추출되는 수이다.
- R에서 난수 생성하는 방법
sample( ) 함수를 이용해서 R에서 난수를 생성할 수 있다.
sample(x, size, replace = FALSE, prob = NULL)
- x: 생성하고자 하는 난수의 범위.
- size: 추출하려는 난수의 개수.
- replace: 복원 추출 여부. (TRUE: 중복해서 추출/ FALSE: 중복 없이 추출. 기본값은 FASLE이다.)
- prob: 추출되는 원소의 확률 가중치 벡터.
sample(1:50, size = 7, replace = FALSE)
[1] 15 11 8 7 28 26 27
sample(1:50, size = 7, replace = TRUE)
[1] 13 19 12 28 7 13 17
1부터 50까지의 숫자 중에 7개의 수를 뽑는다고 했을 때, replace = TRUE인 경우 복원 추출(중복하여 추출)이기 때문에 13이 두 번 뽑힌 것을 볼 수 있다.
- set.seed( )
sample( ) 함수로 난수 생성을 할 경우 실행할 때마다 다른 난수를 생성한다. 만약, 한 번 생성한 난수를 계속하여 사용하고 싶다면 set.seed( ) 함수로 생성된 난수를 고정할 수 있다.
sample(1:50, size = 7, replace = FALSE)
[1] 25 9 45 42 40 19 17
sample(1:50, size = 7, replace = FALSE)
[1] 37 26 15 1 34 41 47
set.seed(42)
sample(1:50, size = 7, replace = FALSE)
[1] 49 37 1 25 10 36 18
set.seed(42)
sample(1:50, size = 7, replace = FALSE)
[1] 49 37 1 25 10 36 18
sample을 두 번 실행하면 다른 값이 나오지만, set.seed(42)로 고정을 해두면 set.seed(42)를 앞에 붙인 후 실행할 때마다 같은 값이 생성된다. 이때, 42는 key 같은 역할을 하는 것으로 원하는 숫자를 입력한다.
728x90
'Programming > R' 카테고리의 다른 글
[Programming][R] 작업 중간(workspace) 파일 저장하기 (0) | 2022.02.04 |
---|---|
[Programming][R] 데이터 타입 변환하기 (0) | 2022.01.31 |
[Programming][R] 랜덤 포레스트(Random Forest) R로 구현하기 (0) | 2021.12.22 |
댓글