2015-09-18 10 views
5
M = matrix(1:9,3,3) 
colnames(M)=c('a','b','c') 

मान लीजिए कि मेरे पास कॉलम नाम 'ए', 'बी', 'सी' के साथ मैट्रिक्स M है। और मैं, नाम निकालना चाहते हैं तो एमआर में मैट्रिक्स से कॉलम नाम कैसे निकालें?

M [,1] [,2] [,3] 
[1,] 1 4 7 
[2,] 2 5 8 
[3,] 3 6 9 

बजाय

 a  b c 
[1,] 1 4 7 
[2,] 2 5 8 
[3,] 3 6 9 

मैं इस करते हो कैसे है?

+0

मैं नहीं वांछित आउटपुट मिलता है, मैं NA NA NA बजाय [, 1] [2] [3] – robertevansanders

+0

मिलता है कोड आपके लिए काम नहीं करता है? यह मेरे लिए ठीक काम करता है ... मैं एक नामांकित नामों के एक टन के साथ एक मैट्रिक्स से प्राप्त करने की कोशिश कर रहा हूं। कारण जटिल है। ऐसा करने के लिए यह एक काफी आसान बात होनी चाहिए ... – robertevansanders

उत्तर

7

आप अपने उदाहरण का उपयोग

colnames(M) <- NULL 

कोशिश कर सकते हैं:

> M 
#  a b c 
#[1,] 1 4 7 
#[2,] 2 5 8 
#[3,] 3 6 9 
> colnames(M) <- NULL 
> M 
#  [,1] [,2] [,3] 
#[1,] 1 4 7 
#[2,] 2 5 8 
#[3,] 3 6 9 

हालांकि, अगर आपके डेटा मेट्रिक्स के बजाय एक data.frame में संग्रहीत किया जाता है, इस काम नहीं करेगा। के रूप में ?data.frame में विस्तार से बताया:

स्तंभ नाम खाली नहीं होना चाहिए, और खाली नामों का उपयोग करने का प्रयास असमर्थित परिणाम

होगा यदि आपके डेटा में data.frame के रूप में जमा किया जाता है (हो सकता है class(my_data) के साथ चेक किया गया), आप इसे M <- as.matrix(my_data) के साथ एक मैट्रिक्स में परिवर्तित करने का प्रयास कर सकते हैं। उम्मीद है की यह मदद करेगा।

1

आप हटाना चाहते हैं, तो पंक्ति के नाम का इस्तेमाल row.names() समारोह

>M 
     a b c 
1[1,] 1 4 7 
2[2,] 2 5 8 
3[3,] 3 6 9 

>row.names(M)<- NULL ; colnames(M)<- NULL 
>M 

    [,1] [,2] [,3] 
[1,] 1 4 7 
[2,] 2 5 8 
[3,] 3 6 9 
संबंधित मुद्दे