2

私はマトリックスを持っています:

a<-c(0,1,3,5,56,3)
b<-c(1,4,3,10,3,50)
c<-cbind(a,b)
c<-as.matrix(c)

次に、cのサブセットを作成します。

d<-c[1,1]

dのcolumnameを取得したいと思います。colnames(d)は機能しません。

4

2 に答える 2

8

[可能な場合はデフォルトで次元を削除します。これにより、構造が行列からベクトルに変更されます。この動作を無効にします。

x <- cbind(a,b)
d <- x[1,1,drop=FALSE]

> colnames(d)
[1] "a"

名前を失っていないことに注意してください。それらはもはや列名ではありませんでした:

d <- x[1,1]
names(d)
[1] "a"

行名と列名がありdrop=TRUE、単一の要素を選択するときにデフォルトのを使用する場合、名前は結果に表示されません。Rは、行名と列名のどちらを保持するかを認識できません。

rownames(x) <- letters[7:12]
names(x[1,1])
NULL
于 2012-12-21T22:58:48.413 に答える
0

「colnames」の代わりに「names」を使用してみてください

names (d)

[1] "a"
于 2012-12-22T16:32:07.147 に答える