我有一个矩阵:
a<-c(0,1,3,5,56,3)
b<-c(1,4,3,10,3,50)
c<-cbind(a,b)
c<-as.matrix(c)
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个c的子集:
d<-c[1,1]
Run Code Online (Sandbox Code Playgroud)
我想获得d的专栏名称.colnames(d)不起作用.
[默认情况下会在默认情况下删除维度,这会导致结构从矩阵更改为向量.禁用此行为:
x <- cbind(a,b)
d <- x[1,1,drop=FALSE]
> colnames(d)
[1] "a"
Run Code Online (Sandbox Code Playgroud)
请注意,您没有丢失名称.它们不再是列名:
d <- x[1,1]
names(d)
[1] "a"
Run Code Online (Sandbox Code Playgroud)
如果您有行名和列名,并且drop=TRUE在选择单个元素时使用默认值,则结果中不会出现名称.R无法知道您是否要保留行名或列名.
rownames(x) <- letters[7:12]
names(x[1,1])
NULL
Run Code Online (Sandbox Code Playgroud)