2011-12-07 11 views
6

मै मैट्रिक्स की पंक्तियों को हटाने का एक तरीका जानने का प्रयास कर रहा हूं यदि उस पंक्ति में एक सेल एक निश्चित विशेषता को पूरा करता है।आर: यदि पंक्ति में कोई तत्व कुछ विशिष्टता को पूरा करता है तो मैं पंक्तियों को कैसे हटा सकता हूं?

> mm <- matrix(c(1,2,3,2,3,4,1,2,3,4),5,2) 
> mm 
    [,1] [,2] 
[1,] 1 4 
[2,] 2 1 
[3,] 3 2 
[4,] 2 3 
[5,] 3 4 

मैं पंक्तियों का हटाया जाना है, तो उस पंक्ति में 1 स्तंभ तत्व 2. अंत में है चाहता हूँ मैं इस हैं: उदाहरण के लिए:

[,1] [,2] 
[1,] 1 4 
[2,] 3 2 
[3,] 3 4 

मैं यह कैसे कर सकता है?

और यदि पहली कॉलम तत्व की सभी पंक्तियों को हटाने की बजाय 2 और अधिक सामान्य विधि के बारे में क्या है, तो मुझे पंक्तियों को हटाने की आवश्यकता है जो पहले कॉलम तत्व सूची में निहित संख्याओं के सेट से मेल खाते हैं? उदाहरण के लिए

delete_list <- c(2,3) 

ऐसा करने का सबसे अच्छा तरीका क्या है?

अग्रिम धन्यवाद।

+0

[2 स्थितियों के साथ डेटा.फ्रेम से पंक्तियों का चयन कैसे करें] (http://stackoverflow.com/questions/1536590/how-to-select-rows-from-data-frame-with-2- शर्त) (और आर मैनुअल के हर परिचय के भीतर कभी लिखा है)। –

उत्तर

14

बस

mm2 <- mm[mm[,1]!=2,] 

का उपयोग यह काम करता है क्योंकि

mm[,1] != 2 

रिटर्न

[1] TRUE FALSE TRUE FALSE TRUE 

और अनिवार्य रूप से आप इस बूलियन सरणी का उपयोग कर रहे हैं जो पंक्तियों लेने के लिए चयन करने के लिए।

2

परीक्षण किया नहीं ...

newmat <- mm[mm[,1]!=2,] 

मैं क्या लगता है कि आप के बाद कर रहे हैं मूल रूप से है।

संपादित करें: अरे, एक मिनट से निंजा!

संबंधित मुद्दे

 संबंधित मुद्दे