# is.null.DN: Are the Dimnames 'dn' NULL-like ? In Matrix: Sparse and Dense Matrix Classes and Methods

 is.null.DN R Documentation

## Are the Dimnames `dn` NULL-like ?

### Description

Are the `dimnames` `dn` `NULL`-like?

`is.null.DN(dn)` is less strict than `is.null(dn)`, because it is also true (`TRUE`) when the dimnames `dn` are “like” `NULL`, or `list(NULL,NULL)`, as they can easily be for the traditional R matrices (`matrix`) which have no formal `class` definition, and hence much freedom in how their `dimnames` look like.

### Usage

```  is.null.DN(dn)
```

### Arguments

 `dn` `dimnames()` of a `matrix`-like R object.

### Value

`logical` `TRUE` or `FALSE`.

### Note

This function is really to be used on “traditional” matrices rather than those inheriting from `Matrix`, as the latter will always have dimnames `list(NULL,NULL)` exactly, in such a case.

### Author(s)

Martin Maechler

`is.null`, `dimnames`, `matrix`.

### Examples

```m <- matrix(round(100 * rnorm(6)), 2,3); m1 <- m2 <- m3 <- m4 <- m
dimnames(m1) <- list(NULL, NULL)
dimnames(m2) <- list(NULL, character())
dimnames(m3) <- rev(dimnames(m2))
dimnames(m4) <- rep(list(character()),2)

m4 ## prints absolutely identically to  m

stopifnot(m == m1, m1 == m2, m2 == m3, m3 == m4,
identical(capture.output(m) -> cm,
capture.output(m1)),
identical(cm, capture.output(m2)),
identical(cm, capture.output(m3)),
identical(cm, capture.output(m4)))

hasNoDimnames <- function(.) is.null.DN(dimnames(.))

stopifnot(exprs = {
hasNoDimnames(m)
hasNoDimnames(m1); hasNoDimnames(m2)
hasNoDimnames(m3); hasNoDimnames(m4)
hasNoDimnames(Matrix(m) -> M)
hasNoDimnames(as(M, "sparseMatrix"))
})

```

Matrix documentation built on Nov. 11, 2022, 9:06 a.m.