Tuesday, 15 September 2015

r - Boolean operators in if/ifelse loops -


इस तरह एक मैट्रिक्स के साथ

  r & lt; -20; ग & LT; -6; एम 1 और लेफ्टिनेंट; - राउंड (मैट्रिक्स (रनिफ (आर * सी), आर, सी)))   

मैं दो नए कॉलम बनाना चाहूंगा जो कि आखिरी तीन पर आधारित हैं I / अगरल और बूलियन ऑपरेटर्स।

मैंने निम्नलिखित की कोशिश की, लेकिन सफलता के बिना:

  के लिए (i में 1: मंद (एम 1) [1]) {if (sum ( एम 1 [i, 4: 6] == 0)) {एम 1 $ कोड 1 [i] & lt; -0; m1 $ code2 [i] & lt; -0} और अगर (राशि (एम 1 [i, 4: 6] =) = 3)) {एम 1 $ कोड 1 [i] & lt; -5; m1 $ code2 [i] & lt; -5} और अगर (एम 1 [i, 4] == 0 & amp; amp; एम 1 [, 5] == 1) {m1 $ code1 [i] & lt; -3} और नहीं अगर (एम 1 [i, 4] == 0 & amp; amp; एम 1 [, 6] == 1) {एम 1 $ कोड 2 [आई] & lt; -3 } और अगर (एम 1 [i, 4] == 1 & amp; amp; एम 1 [, 5] == 0) {एम 1 $ कोड 1 [i] & lt; -2} और अगर (एम 1 [i, 4] == 1 & Amp; amp; एम 1 [, 6] == 0) {एम 1 $ कोड 2 [आई] & lt; -2} और यदि (एम 1 [i, 4] == 1 & amp; एम 1 [, 5] == 1) {एम 1 $ कोड 1 [i] & lt; -4} और अगर (एम 1 [i, 4] == 1 & amp; एम 1 [, 6] == 1) {एम 1 $ कोड 2 [आई] & lt; -4}}   

मेरी समस्या यह है कि मैं & amp; amp; & amp; अगर खंड में, लेकिन किसी तरह यह काम नहीं कर रहा है कोई मुझे एक संकेत क्यों दे सकता है या बेहतर विकल्प के साथ आ सकता है?

पहले से धन्यवाद,

मैं आपके से पाश को छूटेगा जिसे आप पंक्ति 4 और पंक्ति 5 के संयोजन पर और पंक्ति 4 और 6 के संयोजन पर एक ही क्रिया करना चाहते हैं। मुझे लगता है कि आप सबसे अच्छे एक सामान्य फ़ंक्शन बना सकते हैं और इसे दोनों संयोजनों पर लागू कर सकते हैं। मैं आपकी समस्या का निम्न समाधान प्रस्तावित करता हूं

  get.code & lt; - फ़ंक्शन (x) {if (x [1] == 0 & amp; x [2] == 0) {0} और अगर (x [1] == 0 & amp; x [2] == 1) {3} और यदि (x [1] == 1 & amp; x [2] == 1) {4} और {2}} code1 & lt; - लागू करें ( M1 [, c (4,5)], 1, get.code) code2 & lt; - लागू करें (एम 1 [, सी (4,6)], 1, get.code) cbind (m1, code1, code2)    

No comments:

Post a Comment