矩阵显示没有行名和列名?

时间:2012-02-20 18:41:17

标签: r matrix

我在R中有这个代码:

seq1 <- seq(1:20)
mat <- matrix(seq1, 2)

结果是:

     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    1    3    5    7    9   11   13   15   17    19
[2,]    2    4    6    8   10   12   14   16   18    20

R是否有一个选项可以禁止显示列名和行名,这样我就不会得到[,1] [,2]等等?

4 个答案:

答案 0 :(得分:14)

如果要保留尺寸名称但不打印它们,可以定义新的打印功能。

print.matrix <- function(m){
write.table(format(m, justify="right"),
            row.names=F, col.names=F, quote=F)
}

> print(mat)
 1  3  5  7  9 11 13 15 17 19
 2  4  6  8 10 12 14 16 18 20

答案 1 :(得分:4)

这适用于矩阵:

seq1 <- seq(1:20)
mat <- matrix(seq1, 2)

dimnames(mat) <-list(rep("", dim(mat)[1]), rep("", dim(mat)[2]))
mat

答案 2 :(得分:3)

还有?prmatrix

prmatrix(mat, collab = rep_len("", ncol(mat)), rowlab = rep_len("", ncol(mat)))
#                          
# 1 3 5 7  9 11 13 15 17 19
# 2 4 6 8 10 12 14 16 18 20

答案 3 :(得分:1)

Fojtasek的解决方案可能是最好的,但是另一个是使用sprintf。

print.matrix <- function(x,digits=getOption('digits')){
  fmt <- sprintf("%% .%if",digits)
  for(r in 1:nrow(x))
    writeLines(paste(sapply(x[r,],function(x){sprintf(fmt,x)}),collapse=" "))
}