如何从R中的矩阵中删除列名?

时间:2015-09-18 18:31:45

标签: r matrix

  M = matrix(1:9,3,3)
colnames(M)=c('a','b','c')

假设我有一个矩阵M,列名为'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

我该怎么做?

2 个答案:

答案 0 :(得分:6)

我知道自从被问到已经有一段时间了,但是看到这是一个非常繁忙的问题,我认为这可能很有用。

如果要对M而不是其列名执行此操作,则可以尝试

M <- unname(M)
>M
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9

如果您想将输出通过管道或嵌套到后续函数中,这将更加有效,因为colnames不会返回M

答案 1 :(得分:2)

如果要删除行名,请使用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