2017-12-27 4 views
1

이것은 아마도 매우 기본적인 질문 일 수 있습니다. 그러나 변수를 다음과 같이 R에서 어떻게 변경합니까?변수를 R로 바꾸려면 어떻게합니까? (`sample` 명령)

var <- sample(c(-2, -1, 0, 1, 2), size = 1)은 동일한 번호를 계속 반복해서 제공합니다. 이 문제를 방지하려면 어떻게해야합니까?

+0

명령을 사용하여 5 개의 요소 벡터로부터 1 개의 요소를 임의 추출합니다. 그런 다음 무작위 샘플을 복제하면 다른 값을 얻을 수 있지만 다른 객체에 저장하는 경우에만 사용할 수 있습니다. 어쨌든 귀하의 질문은 조금 혼란 스럽습니다. 나는 당신의 목표가 정확히 무엇인지 이해할 수 없다. –

+2

당신의 명령은 나를 위해 일하고'var'의 여러 배정에 대해 다른 숫자를 만들어냅니다. 어쩌면 당신은 같은 값으로 호출 할 때마다'seed'를 고정 시켰을까요? –

답변

2

set.seed(NULL) 코드를 다시 실행하면 매번 다른 값을 받게됩니다. 그러나 set.seed(1729), set.seed(42) 등을 수행하면 동일한 번호가 다시 나타납니다. 아래 set.seed(NULL) 결과를 실행 내 시스템에서

는 : 나는 set.seed(1729)을 시도하고 코드를 다시 실행하면

> set.seed(NULL) 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] -2 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] 1 

, 내가 받게됩니다

> set.seed(1729) 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] 0 
> var <- sample(c(-2, -1, 0, 1, 2), size = 1) 
> var 
[1] 0 

우리가 선택하는 종자 수는있다 시작점은 일련의 난수 생성에 사용되므로 동일한 시드 번호가 주어지면 동일한 결과를 얻을 수 있습니다. 문서에서

?set.seed : 처음

, 아니 씨앗이 없다; 새로운 시간과 프로세스 ID가 필요할 때 새로 작성됩니다. 따라서 다른 세션 은 기본적으로 다른 시뮬레이션 결과를 제공합니다. 그러나 이전에 저장된 작업 영역이 복원되면 시드 이 이전 세션에서 복원 될 수 있습니다.

관련 문제