1) 시드 설정하기
컴퓨터 프로그램에서 무작위와 관련된 모든 알고리즘은 사실 무작위가 아니라 시작 숫자를 정해 주면 그 다음에는 정해진 알고리즘에 의해 마치 난수처럼 보이는 수열을 생성한다. 다만 출력되는 숫자들 간의 상관관계가 없어 보일 뿐이다.
또한 같은 알고리즘을 여러번 실행하더라도 다른 숫자가 나오도록 시작 숫자는 현재 시간 등을 사용해서 매번 바꿔준다. 이런 시작 숫자를 시드(seed)라고 한다.
따라서 시드를 사람이 수동으로 설정한다면 그 다음에 만들어지는 난수들은 예측할 수 있다.
R에서 시드를 설정하는 명령은 set.seed이다. 인수로는 0과 같거나 큰 정수를 넣어준다.
set.seed(0)
이렇게 시드를 설정한 후 sample(replace=TRUE) 명령으로 5개의 난수를 생성해 보자. 다른 난수 관련 명령어를 실행하지 말고 바로 다음 명령을 실행해야 한다.
sample(5, replace=TRUE)
5 2 2 3 5
2) 기존의 데이터의 순서 바꾸기
x <- (1:10) * 10 x[sample(length(x))]
90 70 100 10 50 30 40 20 60 80
3) 기존의 데이터에서 샘플링하기
이미 있는 데이터 집합에서 일부를 선택하는 것을 샘플링(sampling)이라고 한다. 샘플링에도 sample 명령을 사용한다.
sample(x, size, replace = FALSE, prob = NULL)
* x : 배열이면 원래의 데이터, 정수이면 seq(x) 명령으로 데이터 생성
* size : 정수. 샘플 숫자
* replace : 불리언. TRUE 이면 한번 선택한 데이터를 다시 선택 가능
* prob : 배열. 각 데이터가 선택될 수 있는 확률
참고 사이트 :
https://datascienceschool.net/view-notebook/817d46e05301441fae34eac8eca14661/