2013-12-19 30 views
1

我想索引從矩陣中選擇一列,同時保持爲colname。例如是否可以在保留其colname的同時選擇列?

m<-matrix(1:9,ncol=3) 
colnames(m)<-c('V1','V2','V3') 
selected<-as.matrix(m[,1]) 

然而,

> selected 
    [,1] 
[1,] 1 
[2,] 2 
[3,] 3 

我想有colname(selected)<-'V1'結果來代替。爲什麼R的行爲如此,我該如何解決?謝謝。

回答

4

在最後一行取出as.matrix()和使用drop=FALSE(見?Extract

> m<-matrix(1:9,ncol=3) 
> colnames(m)<-c('V1','V2','V3') 
> m[,1,drop=FALSE] 
    V1 
[1,] 1 
[2,] 2 
[3,] 3 

你做什麼,是選擇單個列。 R將默認刪除所有不必要的尺寸(以及名稱)。在這種情況下,由於單列可以看作是一個向量,因此可以刪除一個維度。參數drop=FALSE阻止了這一點。

+0

謝謝,我不知道'drop'參數。 – tomka

相關問題