2012-11-14 2 views
1

를 반환 내가 확률임의의 숫자 배열을 형성 따기와 그것의에게 인덱스

의 배열을 가지고
A = c(0, 0, 1/3, 0, 1/3, 1/3) 

내가 사용 난수 공식은 다음과 같습니다

sample(A, 1, replace=TRUE) 

그것은 나에게 하나 제공 확률. 내가 찾고있는 건 대응 확률의 인덱스 번호입니다. 확률이 반복 될 수 있기 때문에 선택한 특정 색인 번호는 어떻게 얻을 수 있습니까? 또한 0 확률을 선택할 수 없어야합니다.

감사합니다.

+2

'? sample'을 전혀 보지 않으셨습니까? prob라고하는 매개 변수가 필요합니다. – Dason

+4

왜 대신 표본을 샘플링해야합니까? 'A [a]' – Justin

+0

이 질문의 제목과 본문은 두 가지를 묻는 것처럼 보입니다. (Aq = A (1) 매우 다른 질문들. 몇 가지 설명이 유용 할 것입니다. – joran

답변

2

함수는 기본적으로이 일을합니다 :

y <- 0 
while(y == 0) { 
    x <- sample(1:length(A), 1) 
    y <- A[x] 
} 
print(x) 

한 번에 하나 개의 샘플을 복용하기 때문에 TRUE이 상황에서 중복 = 대체합니다.