print {base} | R Documentation

## Print Values

### Description

`print` prints its argument and returns it invisibly (via `invisible(x)`). It is a generic function which means that new printing methods can be easily added for new `class`es.

### Usage

    print(x, ...)

    ## S3 method for class 'factor'
    print(x, quote = FALSE, max.levels = NULL,
          width = getOption("width"), ...)

    ## S3 method for class 'table'
    print(x, digits = getOption("digits"), quote = FALSE,
          na.print = "", zero.print = "0", justify = "none", ...)

    ## S3 method for class 'function'
    print(x, useSource = TRUE, ...)

### Arguments

`x` | an object used to select a method.
`...` | further arguments passed to or from other methods.
`quote` | logical, indicating whether or not strings should be printed with surrounding quotes.
`max.levels` | integer, indicating how many levels should be printed for a factor; if `0`, no extra "Levels" line will be printed. The default, `NULL`, entails choosing `max.levels` such that the levels print on one line of width `width`.
`width` | only used when `max.levels` is NULL, see above.
`digits` | minimal number of significant digits, see `print.default`.
`na.print` | character string (or `NULL`) indicating `NA` values in printed output, see `print.default`.
`zero.print` | character specifying how zeros (`0`) should be printed; for sparse tables, using `"."` can produce more readable results, similar to printing sparse matrices in Matrix.
`justify` | character indicating if strings should left- or right-justified or left alone, passed to `format`.
`useSource` | logical indicating if internally stored source should be used for printing when present, e.g., if `options(keep.source = TRUE)` has been in use.

### Details

The default method, `print.default` has its own help page. Use `methods("print")` to get all the methods for the `print` generic.

`print.factor` allows some customization and is used for printing `ordered` factors as well.

`print.table` for printing `table`s allows other customization. As of R 3.0.0, it only prints a description in case of a table with 0-extents (this can happen if a classifier has no valid data).

See `noquote` as an example of a class whose main purpose is a specific `print` method.

### References

Chambers, J. M. and Hastie, T. J. (1992) Statistical Models in S. Wadsworth & Brooks/Cole.

### See Also

The default method `print.default`, and help for the methods above; further `options`, `noquote`.

For more customizable (but cumbersome) printing, see `cat`, `format` or also `write`. For a simple prototypical print method, see `.print.via.format` in package tools.

### Examples

    require(stats)

    ts(1:20)  #-- print is the "Default function" --> print.ts(.) is called
    for(i in 1:3) print(1:i)

    ## Printing of factors
    attenu$station ## 117 levels -> 'max.levels' depending on width

    ## ordered factors: levels  "l1 < l2 < .."
    esoph$agegp[1:12]
    esoph$alcgp[1:12]

    ## Printing of sparse (contingency) tables
    set.seed(521)
    t1 <- round(abs(rt(200, df = 1.8)))
    t2 <- round(abs(rt(200, df = 1.4)))
    table(t1, t2) # simple
    print(table(t1, t2), zero.print = ".") # nicer to read

    ## same for non-integer "table":
    T <- table(t2,t1)
    T <- T * (1+round(rlnorm(length(T)))/4)
    print(T, zero.print = ".") # quite nicer,
    print.table(T[,2:8] * 1e9, digits=3, zero.print = ".")
    ## still slightly inferior to  Matrix::Matrix(T)  for larger T

    ## Corner cases with empty extents:
    table(1, NA) # < table of extent 1 x 0 >

[Package base version 3.3.2 Index]