कार्यों देखें all()
और क्रमश: आपके प्रश्नों के पहले और दूसरे भागों के लिए any()
है निकालने के लिए। पंक्तियों या स्तंभों पर कार्यों को चलाने के लिए apply()
फ़ंक्शन का उपयोग किया जा सकता है। (MARGIN = 1
पंक्तियां हैं, MARGIN = 2
स्तंभ हैं, आदि)। नोट मैं df[, -1]
पर apply()
का उपयोग करते हैं की तुलना करते समय id
चर अनदेखी करने के लिए।
भाग 1:
> df <- data.frame(id=c(1:5), v1=c(0,15,9,12,7), v2=c(9,32,6,17,11))
> df[apply(df[, -1], MARGIN = 1, function(x) all(x > 10)), ]
id v1 v2
2 2 15 32
4 4 12 17
भाग 2:
> df[apply(df[, -1], MARGIN = 1, function(x) any(x > 10)), ]
id v1 v2
2 2 15 32
4 4 12 17
5 5 7 11
देखने के लिए क्या चल रहा है, x > 10
का संकेत प्रत्येक तत्व अधिक से अधिक 10 से है कि क्या प्रत्येक पंक्ति के लिए एक तार्किक वेक्टर (apply()
के माध्यम से रिटर्न । all()
रिटर्न TRUE
यदि इनपुट वेक्टर के सभी तत्व TRUE
और FALSE
अन्यथा कर रहे हैं। +०१२३१८३७३२४रिटर्न TRUE
अगर इनपुट में से कोई भी तत्वTRUE
और FALSE
है अगर सब FALSE
हैं।
मैं तो apply()
कॉल
> apply(df[, -1], MARGIN = 1, function(x) all(x > 10))
[1] FALSE TRUE FALSE TRUE FALSE
> apply(df[, -1], MARGIN = 1, function(x) any(x > 10))
[1] FALSE TRUE FALSE TRUE TRUE
से उत्पन्न तार्किक वेक्टर का उपयोग (जैसा कि ऊपर दिखाया गया है) df
सबसेट तक।
+1 - और दूसरे प्रश्न के लिए 'किसी भी' के साथ 'all' को प्रतिस्थापित करें। – flodel
प्रतीक्षा करें, आप 'आईडी' कॉलम के लिए 'सभी (पंक्ति [-1]> 10) नहीं करना चाहते हैं। या 'डीएफ [-1] 'पर फ़ंक्शन लागू करें। – flodel