2017-12-08 4 views
0

R에 대해 찾을 수없는 광범위한 질문 :루프에 카운터 추가

루프 시작 부분에 카운터를 추가하려고합니다. 그래서 나는 루프 sim = 1000 실행할 때 : (뭔가가 잘못되면)

if(hours$week1 > 1 and hours$week1 < 48) add 1 to the counter 
ifelse add 0 

난 당신이 어디 있는지 알려 문장을 인쇄 카운터 튜토리얼 건너 온 한을 : 예를 들어

For (i in 1:1000) { 
    if (i%%100==0) print(paste("No work", i)) 
} 

그러나 내 카운터의 목적은 루프에서 1000 회 실행되는 횟수가 지정된 범위 내에 속하는지 측정하여 값 출력을 생성하는 것입니다.

+2

시도의 예상 출력과 함께 (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) A [재현성 예]를 얻었다. –

+2

두 번째 제안 된 루프를 사용하면서 루프 밖에서 선언 된 카운터를 유지하는 데 문제가 있습니까? –

답변

0


당신은 기본적으로 그것을했다. a) 루프 전에 카운터를 초기화하고 b) if 조건에서 and 대신 &을 사용하고, 실제로 카운터에 1을 추가하면됩니다. 0을 추가하는 것은 아무 것도하지 않는 것과 같으므로 "else"에 대해 걱정할 필요가 없습니다.

counter = 0 
for (blah in your_loop_definition) { 
    ... loop code ... 
    if(hours$week1 > 1 & hours$week1 < 48) { 
     counter = counter + 1 
    } 
    ... more loop code ... 
} 
+0

그게 완벽합니다. 나는 아주 잘 작동한다. –

0

어때?

count = 0 

for (i in 1:1000) { 

    count = ifelse(i %in% 1:100, count + 1, count) 

} 

count 

#> [1] 100