10.6.2 去除打印数组中的名字

为了显示一个大的数组或者矩阵,常常需要需要以一个完整的块的形式显示,同时去掉数组名或编号。简单地去掉 dimnames 属性是不能达到这个要求的,因为 R 环境会把空字符串赋给 dimnames 属性。例如打印一个矩阵X

> temp <- X
> dimnames(temp) <- list(rep("", nrow(X)), rep("", ncol(X))) 
> temp; rm(temp)

这个可以非常容易地通过下面的函数 no.dimnames() 实现。它是利用一种“卷绕”(wrap around)的方式实现的。这个例子还说明一些非常高效有用的用户函数可以是非常简洁的。

no.dimnames <- function(a) {
    ## 为了更紧凑的打印输出,可以去除数组中的维度名字 
  d <- list()
  l <- 0
  for(i in dim(a)) {
    d[[l <- l + 1]] <- rep("", i)
  }
  dimnames(a) <- d
  a
}

通过这个函数,数组可以用一种紧凑的方式显示

> no.dimnames(X)

这对大的整数数组非常有用,尤其当关注点是数组表现出来的模式(pattern)而非它们的数值。

results matching ""

    No results matching ""