2013-03-28 3 views
-1

p가 두 개의 숫자 중 하나를 선택하는 for 루프를 만들려고합니다.두 숫자 중 하나의 숫자 선택. R

예컨대 : 평가

for (p in 0:runif (1, 0, 1)) 
{ 
    if (p == 0.8) 
    { 
     all.wells[[i]]$state.names == "C" 
    } 
    if (p == 0.2) 
    { 
     all.wells[[i]]$state.names == "A" 
    } 
} 

오직 두 가지 값은 0.2 내지 0.8이다.

나는 위의 루프가 오래 걸리고 시간이 많이 걸릴 것이라고 확신한다.

+0

루프가 오래 걸리고 시간이 오래 걸리지 않습니다. 그것은 당신이 의도 한 바가 아니지만 거의 확실합니다 ... – Dason

+0

@ Matthew의 답변, 즉 'C'와 'A'의 확률이 '0.8'과 '0.2'인 샘플입니까? 그렇지 않으면 질문에 더 분명해야합니다. –

+0

죄송합니다. 길지는 않았지만 잘못하고 시간이 많이 걸리는 것은 큰 루프 내에서 약간의 루프이기 때문입니다. 그래서 그것은 오랜 시간 동안 큰 루프를 통과하여 0.8 또는 0.2 중 하나를 쳤습니다. 답변을 주셔서 감사합니다. anywyas. 감사합니다. – user2206363

답변

6

"C"확률이 .8이고 "A"확률이 .2가 되시겠습니까? 일치하는 경우 :

N <- 100 # nrow all.wells? 
sample(c("C", "A"), N, prob=c(.8, .2), replace=TRUE) 
+0

나는 목록에서 .8 또는 .2를 꺼낼만한 것을 찾고있었습니다. – user2206363

+0

나는 이것을 알아낼 수 없었다. 나는 이걸 내가 생각해 냈다. for (runif (1, 0,1)) {if (p <= 0.2) { p = 0.2} else {p = 0.8 } 하지만 이제는 예기치 않은 "="기호가 else 문에 있다고 오류가 표시됩니다. – user2206363