लूप के लिए आर अगले पुनरावृत्ति ifelse पर जाएं


92

मान लीजिए कि आपके पास एक लूप है जैसे

for(n in 1:5) {
  #if(n=3) # skip 3rd iteration and go to next iteration
  cat(n)
}

यदि कोई निश्चित शर्त पूरी हो जाती है, तो वह अगले पुनरावृत्ति पर कैसे जाएगा?


8
लंघन जब एक की स्थिति उत्पन्न होने के बजाय, आप चाहिए छोड़ नहीं जब एक शर्त है नहीं मिले -for(n in 1:5){if(n!=3){cat(n)}}
MichaelChirico

जवाबों:


162
for(n in 1:5) {
  if(n==3) next # skip 3rd iteration and go to next iteration
  cat(n)
}

5
साफ। ओपी के लिए: ?Controlइसी तरह की विशेषताओं के लिए देखें
माइकलचिरिको

बहुत साफ जवाब वास्तव में if क्या होगा अगर मैं कुछ ऐसा for(n in 1:5) { if(n==3) print ('3rd iteration' ) next # skip 3rd iteration and go to next iteration cat(n) }करना चाहता हूं जिसका अर्थ है कि मैं यह छापना चाहता हूं कि मैं 3 पुनरावृति को छोड़ दूंगा, कुछ मामलों में कारण हमें रिकॉर्ड करने की आवश्यकता है जो हमने चीजों को रखने योग्य है।
जेसन गोल

1
@ जेसन गोल - आपको ifइस तरह के बयान के लिए अतिरिक्त कोष्ठक की आवश्यकता होगीfor(n in 1:5) { if(n==3) { print ('3rd iteration' ) ; next } # skip 3rd iteration and go to next iteration cat(n) }
एलेक्सी फेरापोनोव

धन्यवाद @ एलेक्सी फेरपोन्टोव, अब मैं देखता हूं कि 'अतिरिक्त ब्रैकेट' त्रुटि मेरे पुराने संस्करण में क्यों पॉप-अप हो रही है।
जेसन गोल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.