我有一个矩阵:
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的专栏名称。 colnames(d)不起作用。
答案 0 :(得分: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
答案 1 :(得分:0)
尝试使用“名称”而不是“colnames”
names (d)
[1] "a"