Skip to contents

Wrapper around str() that optionally numbers variables in lists and data frames. Useful for large objects where variables should be referenced by position.

Usage

strX(object, ..., enumerate = TRUE, recursive = FALSE, strict.width = "cut")

Arguments

object

any R object.

...

additional arguments passed to str().

enumerate

logical; whether variables or elements are numbered. Default is TRUE.

recursive

logical; whether nested list elements are also numbered. Default is FALSE.

strict.width

character string passed to str(). Default is "cut".

Value

invisibly returns the character vector produced by str().

Details

By default, only top-level elements are numbered. Recursive numbering of nested list elements can be enabled with recursive = TRUE.

See also

Examples

# Data frame
strX(mtcars)
#> 'data.frame':	32 obs. of  11 variables:
#>   1 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
#>   2 $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
#>   3 $ disp: num  160 160 108 258 360 ...
#>   4 $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
#>   5 $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
#>   6 $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
#>   7 $ qsec: num  16.5 17 18.6 19.4 17 ...
#>   8 $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
#>   9 $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
#>  10 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
#>  11 $ carb: num  4 4 1 1 2 1 4 2 2 4 ...

# Nested list
x <- list(
  a = 1,
  b = list(
    c = 2,
    d = 3
  )
)

strX(x)
#> List of 2
#>  1 $ a: num 1
#>  2 $ b:List of 2
#>   ..$ c: num 2
#>   ..$ d: num 3

# Recursive numbering
strX(x, recursive = TRUE)
#> List of 2
#>  1 $ a: num 1
#>  2 $ b:List of 2
#>   ..3 $ c: num 2
#>   ..4 $ d: num 3