लूप के लिए आर अगले पुनरावृत्ति 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.