Skip to contents

These functions perform or diagnose bi-directional pagination on an object.

paginate_to_mpfs renders obj into the MatrixPrintForm (MPF) intermediate representation, and then paginates that MPF into component MPFs each corresponding to an individual page and returns those in a list.

paginate_indices renders obj into an MPF, then uses that representation to calculate the rows and columns of obj corresponding to each page of the pagination of obj, but simply returns these indices rather than paginating obj itself (see details for an important caveat).

diagnose_pagination attempts pagination via paginate_to_mpfs and then returns diagnostic information which explains why page breaks were positioned where they were, or alternatively why no valid paginations could be found.

Usage

paginate_indices(
  obj,
  page_type = "letter",
  font_family = "Courier",
  font_size = 8,
  lineheight = 1,
  landscape = FALSE,
  pg_width = NULL,
  pg_height = NULL,
  margins = c(top = 0.5, bottom = 0.5, left = 0.75, right = 0.75),
  lpp = NA_integer_,
  cpp = NA_integer_,
  min_siblings = 2,
  nosplitin = character(),
  colwidths = NULL,
  tf_wrap = FALSE,
  max_width = NULL,
  indent_size = 2,
  pg_size_spec = NULL,
  rep_cols = num_rep_cols(obj),
  col_gap = 3,
  verbose = FALSE
)

paginate_to_mpfs(
  obj,
  page_type = "letter",
  font_family = "Courier",
  font_size = 8,
  lineheight = 1,
  landscape = FALSE,
  pg_width = NULL,
  pg_height = NULL,
  margins = c(top = 0.5, bottom = 0.5, left = 0.75, right = 0.75),
  lpp = NA_integer_,
  cpp = NA_integer_,
  min_siblings = 2,
  nosplitin = character(),
  colwidths = NULL,
  tf_wrap = FALSE,
  max_width = NULL,
  indent_size = 2,
  pg_size_spec = NULL,
  rep_cols = num_rep_cols(obj),
  col_gap = 2,
  verbose = FALSE
)

diagnose_pagination(
  obj,
  page_type = "letter",
  font_family = "Courier",
  font_size = 8,
  lineheight = 1,
  landscape = FALSE,
  pg_width = NULL,
  pg_height = NULL,
  margins = c(top = 0.5, bottom = 0.5, left = 0.75, right = 0.75),
  lpp = NA_integer_,
  cpp = NA_integer_,
  min_siblings = 2,
  nosplitin = character(),
  colwidths = propose_column_widths(matrix_form(obj, TRUE)),
  tf_wrap = FALSE,
  max_width = NULL,
  indent_size = 2,
  pg_size_spec = NULL,
  rep_cols = num_rep_cols(obj),
  col_gap = 2,
  verbose = FALSE,
  ...
)

Arguments

obj

ANY. object to be paginated. Must have a matrix_form method.

page_type

character(1). Name of a page type. See page_types. Ignored when pg_width and pg_height are set directly.

font_family

character(1). Name of a font family. An error will be thrown if the family named is not monospaced. Defaults to Courier.

font_size

numeric(1). Font size, defaults to 12.

lineheight

numeric(1). Line height, defaults to 1.

landscape

logical(1). Should the dimensions of page_type be inverted for landscape? Defaults to FALSE, ignored when pg_width and pg_height are set directly.

pg_width

numeric(1). Page width in inches.

pg_height

numeric(1). Page height in inches.

margins

numeric(4). Named numeric vector containing 'bottom', 'left', 'top', and 'right' margins in inches. Defaults to .5 inches for both vertical margins and .75 for both horizontal margins.

lpp

numeric(1) or NULL. Lines per page. if NA (the default, this is calculated automatically based on the specified page size). NULL indicates no vertical pagination should occur.

cpp

numeric(1) or NULL. Width in characters per page. if NA (the default, this is calculated automatically based on the specified page size). NULL indicates no horizontal pagination should occur.

min_siblings

numeric. Minimum sibling rows which must appear on either side of pagination row for a mid-subtable split to be valid. Defaults to 2.

nosplitin

character. List of names of sub-tables where page-breaks are not allowed, regardless of other considerations. Defaults to none.

colwidths

numeric vector. Column widths (in characters) for use with vertical pagination.

tf_wrap

logical(1). Should the texts for title, subtitle, and footnotes be wrapped?

max_width

integer(1), character(1) or NULL. Width that title and footer (including footnotes) materials should be word-wrapped to. If NULL, it is set to the current print width of the session (getOption("width")). If set to "auto", the width of the table (plus any table inset) is used. Ignored completely if tf_wrap is FALSE.

indent_size

numeric(1). Indent size in characters. Ignored when x is already a MatrixPrintForm object in favor of information there.

pg_size_spec

page_size_spec. A pre-calculated page size specification. Typically this is not set in end user code.

rep_cols

numeric(1). Number of columns (not including row labels) to be repeated on every page. Defaults to 0

col_gap

numeric(1). Currently unused.

verbose

logical(1). Should additional informative messages about the search for pagination breaks be shown. Defaults to FALSE.

...

Passed to individual methods.

Value

for paginate_indices a list with two elements of the same length: pag_row_indices, and pag_col_indices. For paginate_to_mpfs, a list of MatrixPrintForm objects representing each individual page after pagination (including forced pagination if necessary).

For diagnose_pagination a list containing:

lpp_diagnostics

diagnostic information regarding lines per page

row_diagnostics

basic information about rows, whether pagination was attempted after each row, and the final result of such an attempt, if made

cpp_diagnostics}{diagnostic information regarding columns per page} \item{col_diagnostics`

(very) basic information about leaf columns, whether pagination was attempted after each leaf column, ad the final result of such attempts, if made

Details

All three of these functions generally support all classes which have a corresponding matrix_form method which returns a valid MatrixPrintForm object (including MatrixPrintForm objects themselves).

paginate_indices is directly called by paginate_to_mpfs (and thus diagnose_pagination). For most classes, and most tables represented by supported classes, calling paginate_to_mpfs is equivalent to a manual paginate_indices -> subset obj into pages -> matrix_form workflow.

The exception to this equivalence is objects which support 'forced pagination', or pagination logic which built into the object itself rather than being a function of space on a page. Forced pagination generally involves the creation of, e.g., page-specific titles which apply to these forced paginations. paginate_to_mpfs and diagnose_pagination support forced pagination by automatically calling the do_forced_pagination generic on the object and then paginating each object returned by that generic separately. The assumption here, then, is that page-specific titles and such are handled by the class' do_forced_pagination method.

paginate_indices, on the other hand, does not support forced pagination, because it returns only a set of indices for row and column subsetting for each page, and thus cannot retain any changes, e.g., to titles, done within do_forced_paginate. paginate_indices does call do_forced_paginate, but instead of continuing, it throws an error in the case that the result is more than a single "page".

diagnose_pagination attempts pagination and then, regardless of success or failure, returns diagnostic information about pagination attempts (if any) after each row and column.

The diagnostics data reflects the final time the pagination algorithm evaluated a page break at the specified location, regardless of how many times the position was assessed total.

To get information about intermediate attempts, perform pagination with verbose = TRUE and inspect the messages in order.

Note

For diagnose_pagination, the column labels are not displayed in the col_diagnostics element due to certain internal implementation details; rather the diagnostics are reported in terms of absolute (leaf) column position. This is a known limitation, and may eventually be changed, but the information remains useful as it is currently reported.

diagnose_pagination is intended for interactive debugging use and should not be programmed against, as the exact content and form of the verbose messages it captures and returns is subject to change.

because diagnose_pagination relies on capture.output(type = "message"), it cannot be used within the testthat (and likely other) testing frameworks, and likely cannot be used within knitr/rmarkdown contexts either, as this clashes with those systems' capture of messages.

Examples

mpf <- basic_matrix_form(mtcars)

paginate_indices(mpf, pg_width = 5, pg_height = 3)
#> $pag_row_indices
#> $pag_row_indices[[1]]
#>  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
#> 
#> $pag_row_indices[[2]]
#>  [1] 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
#> 
#> 
#> $pag_col_indices
#> $pag_col_indices[[1]]
#> [1] 1 2 3 4
#> 
#> $pag_col_indices[[2]]
#> [1] 5 6 7 8 9
#> 
#> $pag_col_indices[[3]]
#> [1] 10 11
#> 
#> 

paginate_to_mpfs(mpf, pg_width = 5, pg_height = 3)
#> [[1]]
#> $strings
#>       rnms                  mpg    cyl   disp    hp   
#>  [1,] ""                    "mpg"  "cyl" "disp"  "hp" 
#>  [2,] "Mazda RX4"           "21"   "6"   "160"   "110"
#>  [3,] "Mazda RX4 Wag"       "21"   "6"   "160"   "110"
#>  [4,] "Datsun 710"          "22.8" "4"   "108"   "93" 
#>  [5,] "Hornet 4 Drive"      "21.4" "6"   "258"   "110"
#>  [6,] "Hornet Sportabout"   "18.7" "8"   "360"   "175"
#>  [7,] "Valiant"             "18.1" "6"   "225"   "105"
#>  [8,] "Duster 360"          "14.3" "8"   "360"   "245"
#>  [9,] "Merc 240D"           "24.4" "4"   "146.7" "62" 
#> [10,] "Merc 230"            "22.8" "4"   "140.8" "95" 
#> [11,] "Merc 280"            "19.2" "6"   "167.6" "123"
#> [12,] "Merc 280C"           "17.8" "6"   "167.6" "123"
#> [13,] "Merc 450SE"          "16.4" "8"   "275.8" "180"
#> [14,] "Merc 450SL"          "17.3" "8"   "275.8" "180"
#> [15,] "Merc 450SLC"         "15.2" "8"   "275.8" "180"
#> [16,] "Cadillac Fleetwood"  "10.4" "8"   "472"   "205"
#> [17,] "Lincoln Continental" "10.4" "8"   "460"   "215"
#> 
#> $spans
#>       [,1] [,2] [,3] [,4] [,5]
#>  [1,]    1    1    1    1    1
#>  [2,]    1    1    1    1    1
#>  [3,]    1    1    1    1    1
#>  [4,]    1    1    1    1    1
#>  [5,]    1    1    1    1    1
#>  [6,]    1    1    1    1    1
#>  [7,]    1    1    1    1    1
#>  [8,]    1    1    1    1    1
#>  [9,]    1    1    1    1    1
#> [10,]    1    1    1    1    1
#> [11,]    1    1    1    1    1
#> [12,]    1    1    1    1    1
#> [13,]    1    1    1    1    1
#> [14,]    1    1    1    1    1
#> [15,]    1    1    1    1    1
#> [16,]    1    1    1    1    1
#> [17,]    1    1    1    1    1
#> 
#> $aligns
#>       [,1]     [,2]     [,3]     [,4]     [,5]    
#>  [1,] "center" "center" "center" "center" "center"
#>  [2,] "left"   "left"   "left"   "left"   "left"  
#>  [3,] "left"   "left"   "left"   "left"   "left"  
#>  [4,] "left"   "left"   "left"   "left"   "left"  
#>  [5,] "left"   "left"   "left"   "left"   "left"  
#>  [6,] "left"   "left"   "left"   "left"   "left"  
#>  [7,] "left"   "left"   "left"   "left"   "left"  
#>  [8,] "left"   "left"   "left"   "left"   "left"  
#>  [9,] "left"   "left"   "left"   "left"   "left"  
#> [10,] "left"   "left"   "left"   "left"   "left"  
#> [11,] "left"   "left"   "left"   "left"   "left"  
#> [12,] "left"   "left"   "left"   "left"   "left"  
#> [13,] "left"   "left"   "left"   "left"   "left"  
#> [14,] "left"   "left"   "left"   "left"   "left"  
#> [15,] "left"   "left"   "left"   "left"   "left"  
#> [16,] "left"   "left"   "left"   "left"   "left"  
#> [17,] "left"   "left"   "left"   "left"   "left"  
#> 
#> $display
#>       [,1] [,2] [,3] [,4] [,5]
#>  [1,] TRUE TRUE TRUE TRUE TRUE
#>  [2,] TRUE TRUE TRUE TRUE TRUE
#>  [3,] TRUE TRUE TRUE TRUE TRUE
#>  [4,] TRUE TRUE TRUE TRUE TRUE
#>  [5,] TRUE TRUE TRUE TRUE TRUE
#>  [6,] TRUE TRUE TRUE TRUE TRUE
#>  [7,] TRUE TRUE TRUE TRUE TRUE
#>  [8,] TRUE TRUE TRUE TRUE TRUE
#>  [9,] TRUE TRUE TRUE TRUE TRUE
#> [10,] TRUE TRUE TRUE TRUE TRUE
#> [11,] TRUE TRUE TRUE TRUE TRUE
#> [12,] TRUE TRUE TRUE TRUE TRUE
#> [13,] TRUE TRUE TRUE TRUE TRUE
#> [14,] TRUE TRUE TRUE TRUE TRUE
#> [15,] TRUE TRUE TRUE TRUE TRUE
#> [16,] TRUE TRUE TRUE TRUE TRUE
#> [17,] TRUE TRUE TRUE TRUE TRUE
#> 
#> $formats
#>       [,1] [,2] [,3] [,4] [,5]
#>  [1,] ""   ""   ""   ""   ""  
#>  [2,] ""   "xx" "xx" "xx" "xx"
#>  [3,] ""   "xx" "xx" "xx" "xx"
#>  [4,] ""   "xx" "xx" "xx" "xx"
#>  [5,] ""   "xx" "xx" "xx" "xx"
#>  [6,] ""   "xx" "xx" "xx" "xx"
#>  [7,] ""   "xx" "xx" "xx" "xx"
#>  [8,] ""   "xx" "xx" "xx" "xx"
#>  [9,] ""   "xx" "xx" "xx" "xx"
#> [10,] ""   "xx" "xx" "xx" "xx"
#> [11,] ""   "xx" "xx" "xx" "xx"
#> [12,] ""   "xx" "xx" "xx" "xx"
#> [13,] ""   "xx" "xx" "xx" "xx"
#> [14,] ""   "xx" "xx" "xx" "xx"
#> [15,] ""   "xx" "xx" "xx" "xx"
#> [16,] ""   "xx" "xx" "xx" "xx"
#> [17,] ""   "xx" "xx" "xx" "xx"
#> 
#> $row_info
#>                                   label                name abs_rownumber
#> Mazda RX4                     Mazda RX4           Mazda RX4             1
#> Mazda RX4 Wag             Mazda RX4 Wag       Mazda RX4 Wag             2
#> Datsun 710                   Datsun 710          Datsun 710             3
#> Hornet 4 Drive           Hornet 4 Drive      Hornet 4 Drive             4
#> Hornet Sportabout     Hornet Sportabout   Hornet Sportabout             5
#> Valiant                         Valiant             Valiant             6
#> Duster 360                   Duster 360          Duster 360             7
#> Merc 240D                     Merc 240D           Merc 240D             8
#> Merc 230                       Merc 230            Merc 230             9
#> Merc 280                       Merc 280            Merc 280            10
#> Merc 280C                     Merc 280C           Merc 280C            11
#> Merc 450SE                   Merc 450SE          Merc 450SE            12
#> Merc 450SL                   Merc 450SL          Merc 450SL            13
#> Merc 450SLC                 Merc 450SLC         Merc 450SLC            14
#> Cadillac Fleetwood   Cadillac Fleetwood  Cadillac Fleetwood            15
#> Lincoln Continental Lincoln Continental Lincoln Continental            16
#>                             path pos_in_siblings n_siblings self_extent
#> Mazda RX4           root, Ma....               1         32           1
#> Mazda RX4 Wag       root, Ma....               2         32           1
#> Datsun 710          root, Da....               3         32           1
#> Hornet 4 Drive      root, Ho....               4         32           1
#> Hornet Sportabout   root, Ho....               5         32           1
#> Valiant             root, Va....               6         32           1
#> Duster 360          root, Du....               7         32           1
#> Merc 240D           root, Me....               8         32           1
#> Merc 230            root, Me....               9         32           1
#> Merc 280            root, Me....              10         32           1
#> Merc 280C           root, Me....              11         32           1
#> Merc 450SE          root, Me....              12         32           1
#> Merc 450SL          root, Me....              13         32           1
#> Merc 450SLC         root, Me....              14         32           1
#> Cadillac Fleetwood  root, Ca....              15         32           1
#> Lincoln Continental root, Li....              16         32           1
#>                     par_extent reprint_inds node_class indent nrowrefs
#> Mazda RX4                    0                      NA      0        0
#> Mazda RX4 Wag                0                      NA      0        0
#> Datsun 710                   0                      NA      0        0
#> Hornet 4 Drive               0                      NA      0        0
#> Hornet Sportabout            0                      NA      0        0
#> Valiant                      0                      NA      0        0
#> Duster 360                   0                      NA      0        0
#> Merc 240D                    0                      NA      0        0
#> Merc 230                     0                      NA      0        0
#> Merc 280                     0                      NA      0        0
#> Merc 280C                    0                      NA      0        0
#> Merc 450SE                   0                      NA      0        0
#> Merc 450SL                   0                      NA      0        0
#> Merc 450SLC                  0                      NA      0        0
#> Cadillac Fleetwood           0                      NA      0        0
#> Lincoln Continental          0                      NA      0        0
#>                     ncellrefs nreflines force_page page_title trailing_sep
#> Mazda RX4                   0         0      FALSE       <NA>         <NA>
#> Mazda RX4 Wag               0         0      FALSE       <NA>         <NA>
#> Datsun 710                  0         0      FALSE       <NA>         <NA>
#> Hornet 4 Drive              0         0      FALSE       <NA>         <NA>
#> Hornet Sportabout           0         0      FALSE       <NA>         <NA>
#> Valiant                     0         0      FALSE       <NA>         <NA>
#> Duster 360                  0         0      FALSE       <NA>         <NA>
#> Merc 240D                   0         0      FALSE       <NA>         <NA>
#> Merc 230                    0         0      FALSE       <NA>         <NA>
#> Merc 280                    0         0      FALSE       <NA>         <NA>
#> Merc 280C                   0         0      FALSE       <NA>         <NA>
#> Merc 450SE                  0         0      FALSE       <NA>         <NA>
#> Merc 450SL                  0         0      FALSE       <NA>         <NA>
#> Merc 450SLC                 0         0      FALSE       <NA>         <NA>
#> Cadillac Fleetwood          0         0      FALSE       <NA>         <NA>
#> Lincoln Continental         0         0      FALSE       <NA>         <NA>
#>                     ref_info_df
#> Mazda RX4                      
#> Mazda RX4 Wag                  
#> Datsun 710                     
#> Hornet 4 Drive                 
#> Hornet Sportabout              
#> Valiant                        
#> Duster 360                     
#> Merc 240D                      
#> Merc 230                       
#> Merc 280                       
#> Merc 280C                      
#> Merc 450SE                     
#> Merc 450SL                     
#> Merc 450SLC                    
#> Cadillac Fleetwood             
#> Lincoln Continental            
#> 
#> $line_grouping
#>  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
#> 
#> $main_title
#> [1] ""
#> 
#> $subtitles
#> character(0)
#> 
#> $page_titles
#> character(0)
#> 
#> $main_footer
#> [1] ""
#> 
#> $prov_footer
#> character(0)
#> 
#> $header_section_div
#> [1] NA
#> 
#> $horizontal_sep
#> [1] "o"
#> 
#> $col_gap
#> [1] 3
#> 
#> $table_inset
#> [1] 0
#> 
#> $has_topleft
#> [1] FALSE
#> 
#> $indent_size
#> [1] 2
#> 
#> $col_widths
#> rnms  mpg  cyl disp   hp 
#>   19    4    3    5    3 
#> 
#> $ref_fnote_df
#> [1] row_path  col_path  row       col       symbol    ref_index msg      
#> [8] nlines   
#> <0 rows> (or 0-length row.names)
#> 
#> attr(,"nrow_header")
#> [1] 1
#> attr(,"ncols")
#> [1] 4
#> attr(,"class")
#> [1] "MatrixPrintForm" "list"           
#> 
#> [[2]]
#> $strings
#>       rnms                  drat   wt      qsec    vs   am  
#>  [1,] ""                    "drat" "wt"    "qsec"  "vs" "am"
#>  [2,] "Mazda RX4"           "3.9"  "2.62"  "16.46" "0"  "1" 
#>  [3,] "Mazda RX4 Wag"       "3.9"  "2.875" "17.02" "0"  "1" 
#>  [4,] "Datsun 710"          "3.85" "2.32"  "18.61" "1"  "1" 
#>  [5,] "Hornet 4 Drive"      "3.08" "3.215" "19.44" "1"  "0" 
#>  [6,] "Hornet Sportabout"   "3.15" "3.44"  "17.02" "0"  "0" 
#>  [7,] "Valiant"             "2.76" "3.46"  "20.22" "1"  "0" 
#>  [8,] "Duster 360"          "3.21" "3.57"  "15.84" "0"  "0" 
#>  [9,] "Merc 240D"           "3.69" "3.19"  "20"    "1"  "0" 
#> [10,] "Merc 230"            "3.92" "3.15"  "22.9"  "1"  "0" 
#> [11,] "Merc 280"            "3.92" "3.44"  "18.3"  "1"  "0" 
#> [12,] "Merc 280C"           "3.92" "3.44"  "18.9"  "1"  "0" 
#> [13,] "Merc 450SE"          "3.07" "4.07"  "17.4"  "0"  "0" 
#> [14,] "Merc 450SL"          "3.07" "3.73"  "17.6"  "0"  "0" 
#> [15,] "Merc 450SLC"         "3.07" "3.78"  "18"    "0"  "0" 
#> [16,] "Cadillac Fleetwood"  "2.93" "5.25"  "17.98" "0"  "0" 
#> [17,] "Lincoln Continental" "3"    "5.424" "17.82" "0"  "0" 
#> 
#> $spans
#>       [,1] [,2] [,3] [,4] [,5] [,6]
#>  [1,]    1    1    1    1    1    1
#>  [2,]    1    1    1    1    1    1
#>  [3,]    1    1    1    1    1    1
#>  [4,]    1    1    1    1    1    1
#>  [5,]    1    1    1    1    1    1
#>  [6,]    1    1    1    1    1    1
#>  [7,]    1    1    1    1    1    1
#>  [8,]    1    1    1    1    1    1
#>  [9,]    1    1    1    1    1    1
#> [10,]    1    1    1    1    1    1
#> [11,]    1    1    1    1    1    1
#> [12,]    1    1    1    1    1    1
#> [13,]    1    1    1    1    1    1
#> [14,]    1    1    1    1    1    1
#> [15,]    1    1    1    1    1    1
#> [16,]    1    1    1    1    1    1
#> [17,]    1    1    1    1    1    1
#> 
#> $aligns
#>       [,1]     [,2]     [,3]     [,4]     [,5]     [,6]    
#>  [1,] "center" "center" "center" "center" "center" "center"
#>  [2,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [3,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [4,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [5,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [6,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [7,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [8,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [9,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [10,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [11,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [12,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [13,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [14,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [15,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [16,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [17,] "left"   "left"   "left"   "left"   "left"   "left"  
#> 
#> $display
#>       [,1] [,2] [,3] [,4] [,5] [,6]
#>  [1,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [2,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [3,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [4,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [5,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [6,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [7,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [8,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [9,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [10,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [11,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [12,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [13,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [14,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [15,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [16,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [17,] TRUE TRUE TRUE TRUE TRUE TRUE
#> 
#> $formats
#>       [,1] [,2] [,3] [,4] [,5] [,6]
#>  [1,] ""   ""   ""   ""   ""   ""  
#>  [2,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [3,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [4,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [5,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [6,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [7,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [8,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [9,] ""   "xx" "xx" "xx" "xx" "xx"
#> [10,] ""   "xx" "xx" "xx" "xx" "xx"
#> [11,] ""   "xx" "xx" "xx" "xx" "xx"
#> [12,] ""   "xx" "xx" "xx" "xx" "xx"
#> [13,] ""   "xx" "xx" "xx" "xx" "xx"
#> [14,] ""   "xx" "xx" "xx" "xx" "xx"
#> [15,] ""   "xx" "xx" "xx" "xx" "xx"
#> [16,] ""   "xx" "xx" "xx" "xx" "xx"
#> [17,] ""   "xx" "xx" "xx" "xx" "xx"
#> 
#> $row_info
#>                                   label                name abs_rownumber
#> Mazda RX4                     Mazda RX4           Mazda RX4             1
#> Mazda RX4 Wag             Mazda RX4 Wag       Mazda RX4 Wag             2
#> Datsun 710                   Datsun 710          Datsun 710             3
#> Hornet 4 Drive           Hornet 4 Drive      Hornet 4 Drive             4
#> Hornet Sportabout     Hornet Sportabout   Hornet Sportabout             5
#> Valiant                         Valiant             Valiant             6
#> Duster 360                   Duster 360          Duster 360             7
#> Merc 240D                     Merc 240D           Merc 240D             8
#> Merc 230                       Merc 230            Merc 230             9
#> Merc 280                       Merc 280            Merc 280            10
#> Merc 280C                     Merc 280C           Merc 280C            11
#> Merc 450SE                   Merc 450SE          Merc 450SE            12
#> Merc 450SL                   Merc 450SL          Merc 450SL            13
#> Merc 450SLC                 Merc 450SLC         Merc 450SLC            14
#> Cadillac Fleetwood   Cadillac Fleetwood  Cadillac Fleetwood            15
#> Lincoln Continental Lincoln Continental Lincoln Continental            16
#>                             path pos_in_siblings n_siblings self_extent
#> Mazda RX4           root, Ma....               1         32           1
#> Mazda RX4 Wag       root, Ma....               2         32           1
#> Datsun 710          root, Da....               3         32           1
#> Hornet 4 Drive      root, Ho....               4         32           1
#> Hornet Sportabout   root, Ho....               5         32           1
#> Valiant             root, Va....               6         32           1
#> Duster 360          root, Du....               7         32           1
#> Merc 240D           root, Me....               8         32           1
#> Merc 230            root, Me....               9         32           1
#> Merc 280            root, Me....              10         32           1
#> Merc 280C           root, Me....              11         32           1
#> Merc 450SE          root, Me....              12         32           1
#> Merc 450SL          root, Me....              13         32           1
#> Merc 450SLC         root, Me....              14         32           1
#> Cadillac Fleetwood  root, Ca....              15         32           1
#> Lincoln Continental root, Li....              16         32           1
#>                     par_extent reprint_inds node_class indent nrowrefs
#> Mazda RX4                    0                      NA      0        0
#> Mazda RX4 Wag                0                      NA      0        0
#> Datsun 710                   0                      NA      0        0
#> Hornet 4 Drive               0                      NA      0        0
#> Hornet Sportabout            0                      NA      0        0
#> Valiant                      0                      NA      0        0
#> Duster 360                   0                      NA      0        0
#> Merc 240D                    0                      NA      0        0
#> Merc 230                     0                      NA      0        0
#> Merc 280                     0                      NA      0        0
#> Merc 280C                    0                      NA      0        0
#> Merc 450SE                   0                      NA      0        0
#> Merc 450SL                   0                      NA      0        0
#> Merc 450SLC                  0                      NA      0        0
#> Cadillac Fleetwood           0                      NA      0        0
#> Lincoln Continental          0                      NA      0        0
#>                     ncellrefs nreflines force_page page_title trailing_sep
#> Mazda RX4                   0         0      FALSE       <NA>         <NA>
#> Mazda RX4 Wag               0         0      FALSE       <NA>         <NA>
#> Datsun 710                  0         0      FALSE       <NA>         <NA>
#> Hornet 4 Drive              0         0      FALSE       <NA>         <NA>
#> Hornet Sportabout           0         0      FALSE       <NA>         <NA>
#> Valiant                     0         0      FALSE       <NA>         <NA>
#> Duster 360                  0         0      FALSE       <NA>         <NA>
#> Merc 240D                   0         0      FALSE       <NA>         <NA>
#> Merc 230                    0         0      FALSE       <NA>         <NA>
#> Merc 280                    0         0      FALSE       <NA>         <NA>
#> Merc 280C                   0         0      FALSE       <NA>         <NA>
#> Merc 450SE                  0         0      FALSE       <NA>         <NA>
#> Merc 450SL                  0         0      FALSE       <NA>         <NA>
#> Merc 450SLC                 0         0      FALSE       <NA>         <NA>
#> Cadillac Fleetwood          0         0      FALSE       <NA>         <NA>
#> Lincoln Continental         0         0      FALSE       <NA>         <NA>
#>                     ref_info_df
#> Mazda RX4                      
#> Mazda RX4 Wag                  
#> Datsun 710                     
#> Hornet 4 Drive                 
#> Hornet Sportabout              
#> Valiant                        
#> Duster 360                     
#> Merc 240D                      
#> Merc 230                       
#> Merc 280                       
#> Merc 280C                      
#> Merc 450SE                     
#> Merc 450SL                     
#> Merc 450SLC                    
#> Cadillac Fleetwood             
#> Lincoln Continental            
#> 
#> $line_grouping
#>  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
#> 
#> $main_title
#> [1] ""
#> 
#> $subtitles
#> character(0)
#> 
#> $page_titles
#> character(0)
#> 
#> $main_footer
#> [1] ""
#> 
#> $prov_footer
#> character(0)
#> 
#> $header_section_div
#> [1] NA
#> 
#> $horizontal_sep
#> [1] "o"
#> 
#> $col_gap
#> [1] 3
#> 
#> $table_inset
#> [1] 0
#> 
#> $has_topleft
#> [1] FALSE
#> 
#> $indent_size
#> [1] 2
#> 
#> $col_widths
#> rnms drat   wt qsec   vs   am 
#>   19    4    5    5    2    2 
#> 
#> $ref_fnote_df
#> [1] row_path  col_path  row       col       symbol    ref_index msg      
#> [8] nlines   
#> <0 rows> (or 0-length row.names)
#> 
#> attr(,"nrow_header")
#> [1] 1
#> attr(,"ncols")
#> [1] 5
#> attr(,"class")
#> [1] "MatrixPrintForm" "list"           
#> 
#> [[3]]
#> $strings
#>       rnms                  gear   carb  
#>  [1,] ""                    "gear" "carb"
#>  [2,] "Mazda RX4"           "4"    "4"   
#>  [3,] "Mazda RX4 Wag"       "4"    "4"   
#>  [4,] "Datsun 710"          "4"    "1"   
#>  [5,] "Hornet 4 Drive"      "3"    "1"   
#>  [6,] "Hornet Sportabout"   "3"    "2"   
#>  [7,] "Valiant"             "3"    "1"   
#>  [8,] "Duster 360"          "3"    "4"   
#>  [9,] "Merc 240D"           "4"    "2"   
#> [10,] "Merc 230"            "4"    "2"   
#> [11,] "Merc 280"            "4"    "4"   
#> [12,] "Merc 280C"           "4"    "4"   
#> [13,] "Merc 450SE"          "3"    "3"   
#> [14,] "Merc 450SL"          "3"    "3"   
#> [15,] "Merc 450SLC"         "3"    "3"   
#> [16,] "Cadillac Fleetwood"  "3"    "4"   
#> [17,] "Lincoln Continental" "3"    "4"   
#> 
#> $spans
#>       [,1] [,2] [,3]
#>  [1,]    1    1    1
#>  [2,]    1    1    1
#>  [3,]    1    1    1
#>  [4,]    1    1    1
#>  [5,]    1    1    1
#>  [6,]    1    1    1
#>  [7,]    1    1    1
#>  [8,]    1    1    1
#>  [9,]    1    1    1
#> [10,]    1    1    1
#> [11,]    1    1    1
#> [12,]    1    1    1
#> [13,]    1    1    1
#> [14,]    1    1    1
#> [15,]    1    1    1
#> [16,]    1    1    1
#> [17,]    1    1    1
#> 
#> $aligns
#>       [,1]     [,2]     [,3]    
#>  [1,] "center" "center" "center"
#>  [2,] "left"   "left"   "left"  
#>  [3,] "left"   "left"   "left"  
#>  [4,] "left"   "left"   "left"  
#>  [5,] "left"   "left"   "left"  
#>  [6,] "left"   "left"   "left"  
#>  [7,] "left"   "left"   "left"  
#>  [8,] "left"   "left"   "left"  
#>  [9,] "left"   "left"   "left"  
#> [10,] "left"   "left"   "left"  
#> [11,] "left"   "left"   "left"  
#> [12,] "left"   "left"   "left"  
#> [13,] "left"   "left"   "left"  
#> [14,] "left"   "left"   "left"  
#> [15,] "left"   "left"   "left"  
#> [16,] "left"   "left"   "left"  
#> [17,] "left"   "left"   "left"  
#> 
#> $display
#>       [,1] [,2] [,3]
#>  [1,] TRUE TRUE TRUE
#>  [2,] TRUE TRUE TRUE
#>  [3,] TRUE TRUE TRUE
#>  [4,] TRUE TRUE TRUE
#>  [5,] TRUE TRUE TRUE
#>  [6,] TRUE TRUE TRUE
#>  [7,] TRUE TRUE TRUE
#>  [8,] TRUE TRUE TRUE
#>  [9,] TRUE TRUE TRUE
#> [10,] TRUE TRUE TRUE
#> [11,] TRUE TRUE TRUE
#> [12,] TRUE TRUE TRUE
#> [13,] TRUE TRUE TRUE
#> [14,] TRUE TRUE TRUE
#> [15,] TRUE TRUE TRUE
#> [16,] TRUE TRUE TRUE
#> [17,] TRUE TRUE TRUE
#> 
#> $formats
#>       [,1] [,2] [,3]
#>  [1,] ""   ""   ""  
#>  [2,] ""   "xx" "xx"
#>  [3,] ""   "xx" "xx"
#>  [4,] ""   "xx" "xx"
#>  [5,] ""   "xx" "xx"
#>  [6,] ""   "xx" "xx"
#>  [7,] ""   "xx" "xx"
#>  [8,] ""   "xx" "xx"
#>  [9,] ""   "xx" "xx"
#> [10,] ""   "xx" "xx"
#> [11,] ""   "xx" "xx"
#> [12,] ""   "xx" "xx"
#> [13,] ""   "xx" "xx"
#> [14,] ""   "xx" "xx"
#> [15,] ""   "xx" "xx"
#> [16,] ""   "xx" "xx"
#> [17,] ""   "xx" "xx"
#> 
#> $row_info
#>                                   label                name abs_rownumber
#> Mazda RX4                     Mazda RX4           Mazda RX4             1
#> Mazda RX4 Wag             Mazda RX4 Wag       Mazda RX4 Wag             2
#> Datsun 710                   Datsun 710          Datsun 710             3
#> Hornet 4 Drive           Hornet 4 Drive      Hornet 4 Drive             4
#> Hornet Sportabout     Hornet Sportabout   Hornet Sportabout             5
#> Valiant                         Valiant             Valiant             6
#> Duster 360                   Duster 360          Duster 360             7
#> Merc 240D                     Merc 240D           Merc 240D             8
#> Merc 230                       Merc 230            Merc 230             9
#> Merc 280                       Merc 280            Merc 280            10
#> Merc 280C                     Merc 280C           Merc 280C            11
#> Merc 450SE                   Merc 450SE          Merc 450SE            12
#> Merc 450SL                   Merc 450SL          Merc 450SL            13
#> Merc 450SLC                 Merc 450SLC         Merc 450SLC            14
#> Cadillac Fleetwood   Cadillac Fleetwood  Cadillac Fleetwood            15
#> Lincoln Continental Lincoln Continental Lincoln Continental            16
#>                             path pos_in_siblings n_siblings self_extent
#> Mazda RX4           root, Ma....               1         32           1
#> Mazda RX4 Wag       root, Ma....               2         32           1
#> Datsun 710          root, Da....               3         32           1
#> Hornet 4 Drive      root, Ho....               4         32           1
#> Hornet Sportabout   root, Ho....               5         32           1
#> Valiant             root, Va....               6         32           1
#> Duster 360          root, Du....               7         32           1
#> Merc 240D           root, Me....               8         32           1
#> Merc 230            root, Me....               9         32           1
#> Merc 280            root, Me....              10         32           1
#> Merc 280C           root, Me....              11         32           1
#> Merc 450SE          root, Me....              12         32           1
#> Merc 450SL          root, Me....              13         32           1
#> Merc 450SLC         root, Me....              14         32           1
#> Cadillac Fleetwood  root, Ca....              15         32           1
#> Lincoln Continental root, Li....              16         32           1
#>                     par_extent reprint_inds node_class indent nrowrefs
#> Mazda RX4                    0                      NA      0        0
#> Mazda RX4 Wag                0                      NA      0        0
#> Datsun 710                   0                      NA      0        0
#> Hornet 4 Drive               0                      NA      0        0
#> Hornet Sportabout            0                      NA      0        0
#> Valiant                      0                      NA      0        0
#> Duster 360                   0                      NA      0        0
#> Merc 240D                    0                      NA      0        0
#> Merc 230                     0                      NA      0        0
#> Merc 280                     0                      NA      0        0
#> Merc 280C                    0                      NA      0        0
#> Merc 450SE                   0                      NA      0        0
#> Merc 450SL                   0                      NA      0        0
#> Merc 450SLC                  0                      NA      0        0
#> Cadillac Fleetwood           0                      NA      0        0
#> Lincoln Continental          0                      NA      0        0
#>                     ncellrefs nreflines force_page page_title trailing_sep
#> Mazda RX4                   0         0      FALSE       <NA>         <NA>
#> Mazda RX4 Wag               0         0      FALSE       <NA>         <NA>
#> Datsun 710                  0         0      FALSE       <NA>         <NA>
#> Hornet 4 Drive              0         0      FALSE       <NA>         <NA>
#> Hornet Sportabout           0         0      FALSE       <NA>         <NA>
#> Valiant                     0         0      FALSE       <NA>         <NA>
#> Duster 360                  0         0      FALSE       <NA>         <NA>
#> Merc 240D                   0         0      FALSE       <NA>         <NA>
#> Merc 230                    0         0      FALSE       <NA>         <NA>
#> Merc 280                    0         0      FALSE       <NA>         <NA>
#> Merc 280C                   0         0      FALSE       <NA>         <NA>
#> Merc 450SE                  0         0      FALSE       <NA>         <NA>
#> Merc 450SL                  0         0      FALSE       <NA>         <NA>
#> Merc 450SLC                 0         0      FALSE       <NA>         <NA>
#> Cadillac Fleetwood          0         0      FALSE       <NA>         <NA>
#> Lincoln Continental         0         0      FALSE       <NA>         <NA>
#>                     ref_info_df
#> Mazda RX4                      
#> Mazda RX4 Wag                  
#> Datsun 710                     
#> Hornet 4 Drive                 
#> Hornet Sportabout              
#> Valiant                        
#> Duster 360                     
#> Merc 240D                      
#> Merc 230                       
#> Merc 280                       
#> Merc 280C                      
#> Merc 450SE                     
#> Merc 450SL                     
#> Merc 450SLC                    
#> Cadillac Fleetwood             
#> Lincoln Continental            
#> 
#> $line_grouping
#>  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
#> 
#> $main_title
#> [1] ""
#> 
#> $subtitles
#> character(0)
#> 
#> $page_titles
#> character(0)
#> 
#> $main_footer
#> [1] ""
#> 
#> $prov_footer
#> character(0)
#> 
#> $header_section_div
#> [1] NA
#> 
#> $horizontal_sep
#> [1] "o"
#> 
#> $col_gap
#> [1] 3
#> 
#> $table_inset
#> [1] 0
#> 
#> $has_topleft
#> [1] FALSE
#> 
#> $indent_size
#> [1] 2
#> 
#> $col_widths
#> rnms gear carb 
#>   19    4    4 
#> 
#> $ref_fnote_df
#> [1] row_path  col_path  row       col       symbol    ref_index msg      
#> [8] nlines   
#> <0 rows> (or 0-length row.names)
#> 
#> attr(,"nrow_header")
#> [1] 1
#> attr(,"ncols")
#> [1] 2
#> attr(,"class")
#> [1] "MatrixPrintForm" "list"           
#> 
#> [[4]]
#> $strings
#>       rnms                mpg    cyl   disp    hp   
#>  [1,] ""                  "mpg"  "cyl" "disp"  "hp" 
#>  [2,] "Chrysler Imperial" "14.7" "8"   "440"   "230"
#>  [3,] "Fiat 128"          "32.4" "4"   "78.7"  "66" 
#>  [4,] "Honda Civic"       "30.4" "4"   "75.7"  "52" 
#>  [5,] "Toyota Corolla"    "33.9" "4"   "71.1"  "65" 
#>  [6,] "Toyota Corona"     "21.5" "4"   "120.1" "97" 
#>  [7,] "Dodge Challenger"  "15.5" "8"   "318"   "150"
#>  [8,] "AMC Javelin"       "15.2" "8"   "304"   "150"
#>  [9,] "Camaro Z28"        "13.3" "8"   "350"   "245"
#> [10,] "Pontiac Firebird"  "19.2" "8"   "400"   "175"
#> [11,] "Fiat X1-9"         "27.3" "4"   "79"    "66" 
#> [12,] "Porsche 914-2"     "26"   "4"   "120.3" "91" 
#> [13,] "Lotus Europa"      "30.4" "4"   "95.1"  "113"
#> [14,] "Ford Pantera L"    "15.8" "8"   "351"   "264"
#> [15,] "Ferrari Dino"      "19.7" "6"   "145"   "175"
#> [16,] "Maserati Bora"     "15"   "8"   "301"   "335"
#> [17,] "Volvo 142E"        "21.4" "4"   "121"   "109"
#> 
#> $spans
#>       [,1] [,2] [,3] [,4] [,5]
#>  [1,]    1    1    1    1    1
#>  [2,]    1    1    1    1    1
#>  [3,]    1    1    1    1    1
#>  [4,]    1    1    1    1    1
#>  [5,]    1    1    1    1    1
#>  [6,]    1    1    1    1    1
#>  [7,]    1    1    1    1    1
#>  [8,]    1    1    1    1    1
#>  [9,]    1    1    1    1    1
#> [10,]    1    1    1    1    1
#> [11,]    1    1    1    1    1
#> [12,]    1    1    1    1    1
#> [13,]    1    1    1    1    1
#> [14,]    1    1    1    1    1
#> [15,]    1    1    1    1    1
#> [16,]    1    1    1    1    1
#> [17,]    1    1    1    1    1
#> 
#> $aligns
#>       [,1]     [,2]     [,3]     [,4]     [,5]    
#>  [1,] "center" "center" "center" "center" "center"
#>  [2,] "left"   "left"   "left"   "left"   "left"  
#>  [3,] "left"   "left"   "left"   "left"   "left"  
#>  [4,] "left"   "left"   "left"   "left"   "left"  
#>  [5,] "left"   "left"   "left"   "left"   "left"  
#>  [6,] "left"   "left"   "left"   "left"   "left"  
#>  [7,] "left"   "left"   "left"   "left"   "left"  
#>  [8,] "left"   "left"   "left"   "left"   "left"  
#>  [9,] "left"   "left"   "left"   "left"   "left"  
#> [10,] "left"   "left"   "left"   "left"   "left"  
#> [11,] "left"   "left"   "left"   "left"   "left"  
#> [12,] "left"   "left"   "left"   "left"   "left"  
#> [13,] "left"   "left"   "left"   "left"   "left"  
#> [14,] "left"   "left"   "left"   "left"   "left"  
#> [15,] "left"   "left"   "left"   "left"   "left"  
#> [16,] "left"   "left"   "left"   "left"   "left"  
#> [17,] "left"   "left"   "left"   "left"   "left"  
#> 
#> $display
#>       [,1] [,2] [,3] [,4] [,5]
#>  [1,] TRUE TRUE TRUE TRUE TRUE
#>  [2,] TRUE TRUE TRUE TRUE TRUE
#>  [3,] TRUE TRUE TRUE TRUE TRUE
#>  [4,] TRUE TRUE TRUE TRUE TRUE
#>  [5,] TRUE TRUE TRUE TRUE TRUE
#>  [6,] TRUE TRUE TRUE TRUE TRUE
#>  [7,] TRUE TRUE TRUE TRUE TRUE
#>  [8,] TRUE TRUE TRUE TRUE TRUE
#>  [9,] TRUE TRUE TRUE TRUE TRUE
#> [10,] TRUE TRUE TRUE TRUE TRUE
#> [11,] TRUE TRUE TRUE TRUE TRUE
#> [12,] TRUE TRUE TRUE TRUE TRUE
#> [13,] TRUE TRUE TRUE TRUE TRUE
#> [14,] TRUE TRUE TRUE TRUE TRUE
#> [15,] TRUE TRUE TRUE TRUE TRUE
#> [16,] TRUE TRUE TRUE TRUE TRUE
#> [17,] TRUE TRUE TRUE TRUE TRUE
#> 
#> $formats
#>       [,1] [,2] [,3] [,4] [,5]
#>  [1,] ""   ""   ""   ""   ""  
#>  [2,] ""   "xx" "xx" "xx" "xx"
#>  [3,] ""   "xx" "xx" "xx" "xx"
#>  [4,] ""   "xx" "xx" "xx" "xx"
#>  [5,] ""   "xx" "xx" "xx" "xx"
#>  [6,] ""   "xx" "xx" "xx" "xx"
#>  [7,] ""   "xx" "xx" "xx" "xx"
#>  [8,] ""   "xx" "xx" "xx" "xx"
#>  [9,] ""   "xx" "xx" "xx" "xx"
#> [10,] ""   "xx" "xx" "xx" "xx"
#> [11,] ""   "xx" "xx" "xx" "xx"
#> [12,] ""   "xx" "xx" "xx" "xx"
#> [13,] ""   "xx" "xx" "xx" "xx"
#> [14,] ""   "xx" "xx" "xx" "xx"
#> [15,] ""   "xx" "xx" "xx" "xx"
#> [16,] ""   "xx" "xx" "xx" "xx"
#> [17,] ""   "xx" "xx" "xx" "xx"
#> 
#> $row_info
#>                               label              name abs_rownumber
#> Chrysler Imperial Chrysler Imperial Chrysler Imperial             1
#> Fiat 128                   Fiat 128          Fiat 128             2
#> Honda Civic             Honda Civic       Honda Civic             3
#> Toyota Corolla       Toyota Corolla    Toyota Corolla             4
#> Toyota Corona         Toyota Corona     Toyota Corona             5
#> Dodge Challenger   Dodge Challenger  Dodge Challenger             6
#> AMC Javelin             AMC Javelin       AMC Javelin             7
#> Camaro Z28               Camaro Z28        Camaro Z28             8
#> Pontiac Firebird   Pontiac Firebird  Pontiac Firebird             9
#> Fiat X1-9                 Fiat X1-9         Fiat X1-9            10
#> Porsche 914-2         Porsche 914-2     Porsche 914-2            11
#> Lotus Europa           Lotus Europa      Lotus Europa            12
#> Ford Pantera L       Ford Pantera L    Ford Pantera L            13
#> Ferrari Dino           Ferrari Dino      Ferrari Dino            14
#> Maserati Bora         Maserati Bora     Maserati Bora            15
#> Volvo 142E               Volvo 142E        Volvo 142E            16
#>                           path pos_in_siblings n_siblings self_extent
#> Chrysler Imperial root, Ch....              17         32           1
#> Fiat 128          root, Fi....              18         32           1
#> Honda Civic       root, Ho....              19         32           1
#> Toyota Corolla    root, To....              20         32           1
#> Toyota Corona     root, To....              21         32           1
#> Dodge Challenger  root, Do....              22         32           1
#> AMC Javelin       root, AM....              23         32           1
#> Camaro Z28        root, Ca....              24         32           1
#> Pontiac Firebird  root, Po....              25         32           1
#> Fiat X1-9         root, Fi....              26         32           1
#> Porsche 914-2     root, Po....              27         32           1
#> Lotus Europa      root, Lo....              28         32           1
#> Ford Pantera L    root, Fo....              29         32           1
#> Ferrari Dino      root, Fe....              30         32           1
#> Maserati Bora     root, Ma....              31         32           1
#> Volvo 142E        root, Vo....              32         32           1
#>                   par_extent reprint_inds node_class indent nrowrefs ncellrefs
#> Chrysler Imperial          0                      NA      0        0         0
#> Fiat 128                   0                      NA      0        0         0
#> Honda Civic                0                      NA      0        0         0
#> Toyota Corolla             0                      NA      0        0         0
#> Toyota Corona              0                      NA      0        0         0
#> Dodge Challenger           0                      NA      0        0         0
#> AMC Javelin                0                      NA      0        0         0
#> Camaro Z28                 0                      NA      0        0         0
#> Pontiac Firebird           0                      NA      0        0         0
#> Fiat X1-9                  0                      NA      0        0         0
#> Porsche 914-2              0                      NA      0        0         0
#> Lotus Europa               0                      NA      0        0         0
#> Ford Pantera L             0                      NA      0        0         0
#> Ferrari Dino               0                      NA      0        0         0
#> Maserati Bora              0                      NA      0        0         0
#> Volvo 142E                 0                      NA      0        0         0
#>                   nreflines force_page page_title trailing_sep ref_info_df
#> Chrysler Imperial         0      FALSE       <NA>         <NA>            
#> Fiat 128                  0      FALSE       <NA>         <NA>            
#> Honda Civic               0      FALSE       <NA>         <NA>            
#> Toyota Corolla            0      FALSE       <NA>         <NA>            
#> Toyota Corona             0      FALSE       <NA>         <NA>            
#> Dodge Challenger          0      FALSE       <NA>         <NA>            
#> AMC Javelin               0      FALSE       <NA>         <NA>            
#> Camaro Z28                0      FALSE       <NA>         <NA>            
#> Pontiac Firebird          0      FALSE       <NA>         <NA>            
#> Fiat X1-9                 0      FALSE       <NA>         <NA>            
#> Porsche 914-2             0      FALSE       <NA>         <NA>            
#> Lotus Europa              0      FALSE       <NA>         <NA>            
#> Ford Pantera L            0      FALSE       <NA>         <NA>            
#> Ferrari Dino              0      FALSE       <NA>         <NA>            
#> Maserati Bora             0      FALSE       <NA>         <NA>            
#> Volvo 142E                0      FALSE       <NA>         <NA>            
#> 
#> $line_grouping
#>  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
#> 
#> $main_title
#> [1] ""
#> 
#> $subtitles
#> character(0)
#> 
#> $page_titles
#> character(0)
#> 
#> $main_footer
#> [1] ""
#> 
#> $prov_footer
#> character(0)
#> 
#> $header_section_div
#> [1] NA
#> 
#> $horizontal_sep
#> [1] "o"
#> 
#> $col_gap
#> [1] 3
#> 
#> $table_inset
#> [1] 0
#> 
#> $has_topleft
#> [1] FALSE
#> 
#> $indent_size
#> [1] 2
#> 
#> $col_widths
#> rnms  mpg  cyl disp   hp 
#>   19    4    3    5    3 
#> 
#> $ref_fnote_df
#> [1] row_path  col_path  row       col       symbol    ref_index msg      
#> [8] nlines   
#> <0 rows> (or 0-length row.names)
#> 
#> attr(,"nrow_header")
#> [1] 1
#> attr(,"ncols")
#> [1] 4
#> attr(,"class")
#> [1] "MatrixPrintForm" "list"           
#> 
#> [[5]]
#> $strings
#>       rnms                drat   wt      qsec    vs   am  
#>  [1,] ""                  "drat" "wt"    "qsec"  "vs" "am"
#>  [2,] "Chrysler Imperial" "3.23" "5.345" "17.42" "0"  "0" 
#>  [3,] "Fiat 128"          "4.08" "2.2"   "19.47" "1"  "1" 
#>  [4,] "Honda Civic"       "4.93" "1.615" "18.52" "1"  "1" 
#>  [5,] "Toyota Corolla"    "4.22" "1.835" "19.9"  "1"  "1" 
#>  [6,] "Toyota Corona"     "3.7"  "2.465" "20.01" "1"  "0" 
#>  [7,] "Dodge Challenger"  "2.76" "3.52"  "16.87" "0"  "0" 
#>  [8,] "AMC Javelin"       "3.15" "3.435" "17.3"  "0"  "0" 
#>  [9,] "Camaro Z28"        "3.73" "3.84"  "15.41" "0"  "0" 
#> [10,] "Pontiac Firebird"  "3.08" "3.845" "17.05" "0"  "0" 
#> [11,] "Fiat X1-9"         "4.08" "1.935" "18.9"  "1"  "1" 
#> [12,] "Porsche 914-2"     "4.43" "2.14"  "16.7"  "0"  "1" 
#> [13,] "Lotus Europa"      "3.77" "1.513" "16.9"  "1"  "1" 
#> [14,] "Ford Pantera L"    "4.22" "3.17"  "14.5"  "0"  "1" 
#> [15,] "Ferrari Dino"      "3.62" "2.77"  "15.5"  "0"  "1" 
#> [16,] "Maserati Bora"     "3.54" "3.57"  "14.6"  "0"  "1" 
#> [17,] "Volvo 142E"        "4.11" "2.78"  "18.6"  "1"  "1" 
#> 
#> $spans
#>       [,1] [,2] [,3] [,4] [,5] [,6]
#>  [1,]    1    1    1    1    1    1
#>  [2,]    1    1    1    1    1    1
#>  [3,]    1    1    1    1    1    1
#>  [4,]    1    1    1    1    1    1
#>  [5,]    1    1    1    1    1    1
#>  [6,]    1    1    1    1    1    1
#>  [7,]    1    1    1    1    1    1
#>  [8,]    1    1    1    1    1    1
#>  [9,]    1    1    1    1    1    1
#> [10,]    1    1    1    1    1    1
#> [11,]    1    1    1    1    1    1
#> [12,]    1    1    1    1    1    1
#> [13,]    1    1    1    1    1    1
#> [14,]    1    1    1    1    1    1
#> [15,]    1    1    1    1    1    1
#> [16,]    1    1    1    1    1    1
#> [17,]    1    1    1    1    1    1
#> 
#> $aligns
#>       [,1]     [,2]     [,3]     [,4]     [,5]     [,6]    
#>  [1,] "center" "center" "center" "center" "center" "center"
#>  [2,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [3,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [4,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [5,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [6,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [7,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [8,] "left"   "left"   "left"   "left"   "left"   "left"  
#>  [9,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [10,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [11,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [12,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [13,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [14,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [15,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [16,] "left"   "left"   "left"   "left"   "left"   "left"  
#> [17,] "left"   "left"   "left"   "left"   "left"   "left"  
#> 
#> $display
#>       [,1] [,2] [,3] [,4] [,5] [,6]
#>  [1,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [2,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [3,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [4,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [5,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [6,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [7,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [8,] TRUE TRUE TRUE TRUE TRUE TRUE
#>  [9,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [10,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [11,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [12,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [13,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [14,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [15,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [16,] TRUE TRUE TRUE TRUE TRUE TRUE
#> [17,] TRUE TRUE TRUE TRUE TRUE TRUE
#> 
#> $formats
#>       [,1] [,2] [,3] [,4] [,5] [,6]
#>  [1,] ""   ""   ""   ""   ""   ""  
#>  [2,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [3,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [4,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [5,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [6,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [7,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [8,] ""   "xx" "xx" "xx" "xx" "xx"
#>  [9,] ""   "xx" "xx" "xx" "xx" "xx"
#> [10,] ""   "xx" "xx" "xx" "xx" "xx"
#> [11,] ""   "xx" "xx" "xx" "xx" "xx"
#> [12,] ""   "xx" "xx" "xx" "xx" "xx"
#> [13,] ""   "xx" "xx" "xx" "xx" "xx"
#> [14,] ""   "xx" "xx" "xx" "xx" "xx"
#> [15,] ""   "xx" "xx" "xx" "xx" "xx"
#> [16,] ""   "xx" "xx" "xx" "xx" "xx"
#> [17,] ""   "xx" "xx" "xx" "xx" "xx"
#> 
#> $row_info
#>                               label              name abs_rownumber
#> Chrysler Imperial Chrysler Imperial Chrysler Imperial             1
#> Fiat 128                   Fiat 128          Fiat 128             2
#> Honda Civic             Honda Civic       Honda Civic             3
#> Toyota Corolla       Toyota Corolla    Toyota Corolla             4
#> Toyota Corona         Toyota Corona     Toyota Corona             5
#> Dodge Challenger   Dodge Challenger  Dodge Challenger             6
#> AMC Javelin             AMC Javelin       AMC Javelin             7
#> Camaro Z28               Camaro Z28        Camaro Z28             8
#> Pontiac Firebird   Pontiac Firebird  Pontiac Firebird             9
#> Fiat X1-9                 Fiat X1-9         Fiat X1-9            10
#> Porsche 914-2         Porsche 914-2     Porsche 914-2            11
#> Lotus Europa           Lotus Europa      Lotus Europa            12
#> Ford Pantera L       Ford Pantera L    Ford Pantera L            13
#> Ferrari Dino           Ferrari Dino      Ferrari Dino            14
#> Maserati Bora         Maserati Bora     Maserati Bora            15
#> Volvo 142E               Volvo 142E        Volvo 142E            16
#>                           path pos_in_siblings n_siblings self_extent
#> Chrysler Imperial root, Ch....              17         32           1
#> Fiat 128          root, Fi....              18         32           1
#> Honda Civic       root, Ho....              19         32           1
#> Toyota Corolla    root, To....              20         32           1
#> Toyota Corona     root, To....              21         32           1
#> Dodge Challenger  root, Do....              22         32           1
#> AMC Javelin       root, AM....              23         32           1
#> Camaro Z28        root, Ca....              24         32           1
#> Pontiac Firebird  root, Po....              25         32           1
#> Fiat X1-9         root, Fi....              26         32           1
#> Porsche 914-2     root, Po....              27         32           1
#> Lotus Europa      root, Lo....              28         32           1
#> Ford Pantera L    root, Fo....              29         32           1
#> Ferrari Dino      root, Fe....              30         32           1
#> Maserati Bora     root, Ma....              31         32           1
#> Volvo 142E        root, Vo....              32         32           1
#>                   par_extent reprint_inds node_class indent nrowrefs ncellrefs
#> Chrysler Imperial          0                      NA      0        0         0
#> Fiat 128                   0                      NA      0        0         0
#> Honda Civic                0                      NA      0        0         0
#> Toyota Corolla             0                      NA      0        0         0
#> Toyota Corona              0                      NA      0        0         0
#> Dodge Challenger           0                      NA      0        0         0
#> AMC Javelin                0                      NA      0        0         0
#> Camaro Z28                 0                      NA      0        0         0
#> Pontiac Firebird           0                      NA      0        0         0
#> Fiat X1-9                  0                      NA      0        0         0
#> Porsche 914-2              0                      NA      0        0         0
#> Lotus Europa               0                      NA      0        0         0
#> Ford Pantera L             0                      NA      0        0         0
#> Ferrari Dino               0                      NA      0        0         0
#> Maserati Bora              0                      NA      0        0         0
#> Volvo 142E                 0                      NA      0        0         0
#>                   nreflines force_page page_title trailing_sep ref_info_df
#> Chrysler Imperial         0      FALSE       <NA>         <NA>            
#> Fiat 128                  0      FALSE       <NA>         <NA>            
#> Honda Civic               0      FALSE       <NA>         <NA>            
#> Toyota Corolla            0      FALSE       <NA>         <NA>            
#> Toyota Corona             0      FALSE       <NA>         <NA>            
#> Dodge Challenger          0      FALSE       <NA>         <NA>            
#> AMC Javelin               0      FALSE       <NA>         <NA>            
#> Camaro Z28                0      FALSE       <NA>         <NA>            
#> Pontiac Firebird          0      FALSE       <NA>         <NA>            
#> Fiat X1-9                 0      FALSE       <NA>         <NA>            
#> Porsche 914-2             0      FALSE       <NA>         <NA>            
#> Lotus Europa              0      FALSE       <NA>         <NA>            
#> Ford Pantera L            0      FALSE       <NA>         <NA>            
#> Ferrari Dino              0      FALSE       <NA>         <NA>            
#> Maserati Bora             0      FALSE       <NA>         <NA>            
#> Volvo 142E                0      FALSE       <NA>         <NA>            
#> 
#> $line_grouping
#>  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
#> 
#> $main_title
#> [1] ""
#> 
#> $subtitles
#> character(0)
#> 
#> $page_titles
#> character(0)
#> 
#> $main_footer
#> [1] ""
#> 
#> $prov_footer
#> character(0)
#> 
#> $header_section_div
#> [1] NA
#> 
#> $horizontal_sep
#> [1] "o"
#> 
#> $col_gap
#> [1] 3
#> 
#> $table_inset
#> [1] 0
#> 
#> $has_topleft
#> [1] FALSE
#> 
#> $indent_size
#> [1] 2
#> 
#> $col_widths
#> rnms drat   wt qsec   vs   am 
#>   19    4    5    5    2    2 
#> 
#> $ref_fnote_df
#> [1] row_path  col_path  row       col       symbol    ref_index msg      
#> [8] nlines   
#> <0 rows> (or 0-length row.names)
#> 
#> attr(,"nrow_header")
#> [1] 1
#> attr(,"ncols")
#> [1] 5
#> attr(,"class")
#> [1] "MatrixPrintForm" "list"           
#> 
#> [[6]]
#> $strings
#>       rnms                gear   carb  
#>  [1,] ""                  "gear" "carb"
#>  [2,] "Chrysler Imperial" "3"    "4"   
#>  [3,] "Fiat 128"          "4"    "1"   
#>  [4,] "Honda Civic"       "4"    "2"   
#>  [5,] "Toyota Corolla"    "4"    "1"   
#>  [6,] "Toyota Corona"     "3"    "1"   
#>  [7,] "Dodge Challenger"  "3"    "2"   
#>  [8,] "AMC Javelin"       "3"    "2"   
#>  [9,] "Camaro Z28"        "3"    "4"   
#> [10,] "Pontiac Firebird"  "3"    "2"   
#> [11,] "Fiat X1-9"         "4"    "1"   
#> [12,] "Porsche 914-2"     "5"    "2"   
#> [13,] "Lotus Europa"      "5"    "2"   
#> [14,] "Ford Pantera L"    "5"    "4"   
#> [15,] "Ferrari Dino"      "5"    "6"   
#> [16,] "Maserati Bora"     "5"    "8"   
#> [17,] "Volvo 142E"        "4"    "2"   
#> 
#> $spans
#>       [,1] [,2] [,3]
#>  [1,]    1    1    1
#>  [2,]    1    1    1
#>  [3,]    1    1    1
#>  [4,]    1    1    1
#>  [5,]    1    1    1
#>  [6,]    1    1    1
#>  [7,]    1    1    1
#>  [8,]    1    1    1
#>  [9,]    1    1    1
#> [10,]    1    1    1
#> [11,]    1    1    1
#> [12,]    1    1    1
#> [13,]    1    1    1
#> [14,]    1    1    1
#> [15,]    1    1    1
#> [16,]    1    1    1
#> [17,]    1    1    1
#> 
#> $aligns
#>       [,1]     [,2]     [,3]    
#>  [1,] "center" "center" "center"
#>  [2,] "left"   "left"   "left"  
#>  [3,] "left"   "left"   "left"  
#>  [4,] "left"   "left"   "left"  
#>  [5,] "left"   "left"   "left"  
#>  [6,] "left"   "left"   "left"  
#>  [7,] "left"   "left"   "left"  
#>  [8,] "left"   "left"   "left"  
#>  [9,] "left"   "left"   "left"  
#> [10,] "left"   "left"   "left"  
#> [11,] "left"   "left"   "left"  
#> [12,] "left"   "left"   "left"  
#> [13,] "left"   "left"   "left"  
#> [14,] "left"   "left"   "left"  
#> [15,] "left"   "left"   "left"  
#> [16,] "left"   "left"   "left"  
#> [17,] "left"   "left"   "left"  
#> 
#> $display
#>       [,1] [,2] [,3]
#>  [1,] TRUE TRUE TRUE
#>  [2,] TRUE TRUE TRUE
#>  [3,] TRUE TRUE TRUE
#>  [4,] TRUE TRUE TRUE
#>  [5,] TRUE TRUE TRUE
#>  [6,] TRUE TRUE TRUE
#>  [7,] TRUE TRUE TRUE
#>  [8,] TRUE TRUE TRUE
#>  [9,] TRUE TRUE TRUE
#> [10,] TRUE TRUE TRUE
#> [11,] TRUE TRUE TRUE
#> [12,] TRUE TRUE TRUE
#> [13,] TRUE TRUE TRUE
#> [14,] TRUE TRUE TRUE
#> [15,] TRUE TRUE TRUE
#> [16,] TRUE TRUE TRUE
#> [17,] TRUE TRUE TRUE
#> 
#> $formats
#>       [,1] [,2] [,3]
#>  [1,] ""   ""   ""  
#>  [2,] ""   "xx" "xx"
#>  [3,] ""   "xx" "xx"
#>  [4,] ""   "xx" "xx"
#>  [5,] ""   "xx" "xx"
#>  [6,] ""   "xx" "xx"
#>  [7,] ""   "xx" "xx"
#>  [8,] ""   "xx" "xx"
#>  [9,] ""   "xx" "xx"
#> [10,] ""   "xx" "xx"
#> [11,] ""   "xx" "xx"
#> [12,] ""   "xx" "xx"
#> [13,] ""   "xx" "xx"
#> [14,] ""   "xx" "xx"
#> [15,] ""   "xx" "xx"
#> [16,] ""   "xx" "xx"
#> [17,] ""   "xx" "xx"
#> 
#> $row_info
#>                               label              name abs_rownumber
#> Chrysler Imperial Chrysler Imperial Chrysler Imperial             1
#> Fiat 128                   Fiat 128          Fiat 128             2
#> Honda Civic             Honda Civic       Honda Civic             3
#> Toyota Corolla       Toyota Corolla    Toyota Corolla             4
#> Toyota Corona         Toyota Corona     Toyota Corona             5
#> Dodge Challenger   Dodge Challenger  Dodge Challenger             6
#> AMC Javelin             AMC Javelin       AMC Javelin             7
#> Camaro Z28               Camaro Z28        Camaro Z28             8
#> Pontiac Firebird   Pontiac Firebird  Pontiac Firebird             9
#> Fiat X1-9                 Fiat X1-9         Fiat X1-9            10
#> Porsche 914-2         Porsche 914-2     Porsche 914-2            11
#> Lotus Europa           Lotus Europa      Lotus Europa            12
#> Ford Pantera L       Ford Pantera L    Ford Pantera L            13
#> Ferrari Dino           Ferrari Dino      Ferrari Dino            14
#> Maserati Bora         Maserati Bora     Maserati Bora            15
#> Volvo 142E               Volvo 142E        Volvo 142E            16
#>                           path pos_in_siblings n_siblings self_extent
#> Chrysler Imperial root, Ch....              17         32           1
#> Fiat 128          root, Fi....              18         32           1
#> Honda Civic       root, Ho....              19         32           1
#> Toyota Corolla    root, To....              20         32           1
#> Toyota Corona     root, To....              21         32           1
#> Dodge Challenger  root, Do....              22         32           1
#> AMC Javelin       root, AM....              23         32           1
#> Camaro Z28        root, Ca....              24         32           1
#> Pontiac Firebird  root, Po....              25         32           1
#> Fiat X1-9         root, Fi....              26         32           1
#> Porsche 914-2     root, Po....              27         32           1
#> Lotus Europa      root, Lo....              28         32           1
#> Ford Pantera L    root, Fo....              29         32           1
#> Ferrari Dino      root, Fe....              30         32           1
#> Maserati Bora     root, Ma....              31         32           1
#> Volvo 142E        root, Vo....              32         32           1
#>                   par_extent reprint_inds node_class indent nrowrefs ncellrefs
#> Chrysler Imperial          0                      NA      0        0         0
#> Fiat 128                   0                      NA      0        0         0
#> Honda Civic                0                      NA      0        0         0
#> Toyota Corolla             0                      NA      0        0         0
#> Toyota Corona              0                      NA      0        0         0
#> Dodge Challenger           0                      NA      0        0         0
#> AMC Javelin                0                      NA      0        0         0
#> Camaro Z28                 0                      NA      0        0         0
#> Pontiac Firebird           0                      NA      0        0         0
#> Fiat X1-9                  0                      NA      0        0         0
#> Porsche 914-2              0                      NA      0        0         0
#> Lotus Europa               0                      NA      0        0         0
#> Ford Pantera L             0                      NA      0        0         0
#> Ferrari Dino               0                      NA      0        0         0
#> Maserati Bora              0                      NA      0        0         0
#> Volvo 142E                 0                      NA      0        0         0
#>                   nreflines force_page page_title trailing_sep ref_info_df
#> Chrysler Imperial         0      FALSE       <NA>         <NA>            
#> Fiat 128                  0      FALSE       <NA>         <NA>            
#> Honda Civic               0      FALSE       <NA>         <NA>            
#> Toyota Corolla            0      FALSE       <NA>         <NA>            
#> Toyota Corona             0      FALSE       <NA>         <NA>            
#> Dodge Challenger          0      FALSE       <NA>         <NA>            
#> AMC Javelin               0      FALSE       <NA>         <NA>            
#> Camaro Z28                0      FALSE       <NA>         <NA>            
#> Pontiac Firebird          0      FALSE       <NA>         <NA>            
#> Fiat X1-9                 0      FALSE       <NA>         <NA>            
#> Porsche 914-2             0      FALSE       <NA>         <NA>            
#> Lotus Europa              0      FALSE       <NA>         <NA>            
#> Ford Pantera L            0      FALSE       <NA>         <NA>            
#> Ferrari Dino              0      FALSE       <NA>         <NA>            
#> Maserati Bora             0      FALSE       <NA>         <NA>            
#> Volvo 142E                0      FALSE       <NA>         <NA>            
#> 
#> $line_grouping
#>  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
#> 
#> $main_title
#> [1] ""
#> 
#> $subtitles
#> character(0)
#> 
#> $page_titles
#> character(0)
#> 
#> $main_footer
#> [1] ""
#> 
#> $prov_footer
#> character(0)
#> 
#> $header_section_div
#> [1] NA
#> 
#> $horizontal_sep
#> [1] "o"
#> 
#> $col_gap
#> [1] 3
#> 
#> $table_inset
#> [1] 0
#> 
#> $has_topleft
#> [1] FALSE
#> 
#> $indent_size
#> [1] 2
#> 
#> $col_widths
#> rnms gear carb 
#>   19    4    4 
#> 
#> $ref_fnote_df
#> [1] row_path  col_path  row       col       symbol    ref_index msg      
#> [8] nlines   
#> <0 rows> (or 0-length row.names)
#> 
#> attr(,"nrow_header")
#> [1] 1
#> attr(,"ncols")
#> [1] 2
#> attr(,"class")
#> [1] "MatrixPrintForm" "list"           
#> 

diagnose_pagination(mpf, pg_width = 5, pg_height = 3)
#> Determining lines required for header content: 0 title and 2 table header lines
#> Determining lines required for footer content: 0 lines
#> Lines per page available for tables rows: 16 (original: 18)
#> Checking pagination after row 16
#> 	....................... OK [16 lines]
#> Checking pagination after row 32
#> 	....................... OK [16 lines]
#> Adjusted characters per page: 33 [original: 52, table inset: 0, row labels: 19]
#> Checking pagination after column 11
#> 	....................... FAIL: requires 74 chars (11 cols).
#> Checking pagination after column 10
#> 	....................... FAIL: requires 67 chars (10 cols).
#> Checking pagination after column 9
#> 	....................... FAIL: requires 60 chars (9 cols).
#> Checking pagination after column 8
#> 	....................... FAIL: requires 55 chars (8 cols).
#> Checking pagination after column 7
#> 	....................... FAIL: requires 50 chars (7 cols).
#> Checking pagination after column 6
#> 	....................... FAIL: requires 42 chars (6 cols).
#> Checking pagination after column 5
#> 	....................... FAIL: requires 34 chars (5 cols).
#> Checking pagination after column 4
#> 	....................... OK [27 chars]
#> Checking pagination after column 11
#> 	....................... FAIL: requires 47 chars (7 cols).
#> Checking pagination after column 10
#> 	....................... FAIL: requires 40 chars (6 cols).
#> Checking pagination after column 9
#> 	....................... OK [33 chars]
#> Checking pagination after column 11
#> 	....................... OK [14 chars]
#> $lpp_diagnostics
#> character(0)
#> 
#> $row_diagnostics
#>    abs_rownumber               label self_extent par_extent node_class
#> 1              1           Mazda RX4           1          0         NA
#> 2              2       Mazda RX4 Wag           1          0         NA
#> 3              3          Datsun 710           1          0         NA
#> 4              4      Hornet 4 Drive           1          0         NA
#> 5              5   Hornet Sportabout           1          0         NA
#> 6              6             Valiant           1          0         NA
#> 7              7          Duster 360           1          0         NA
#> 8              8           Merc 240D           1          0         NA
#> 9              9            Merc 230           1          0         NA
#> 10            10            Merc 280           1          0         NA
#> 11            11           Merc 280C           1          0         NA
#> 12            12          Merc 450SE           1          0         NA
#> 13            13          Merc 450SL           1          0         NA
#> 14            14         Merc 450SLC           1          0         NA
#> 15            15  Cadillac Fleetwood           1          0         NA
#> 16            16 Lincoln Continental           1          0         NA
#> 17            17   Chrysler Imperial           1          0         NA
#> 18            18            Fiat 128           1          0         NA
#> 19            19         Honda Civic           1          0         NA
#> 20            20      Toyota Corolla           1          0         NA
#> 21            21       Toyota Corona           1          0         NA
#> 22            22    Dodge Challenger           1          0         NA
#> 23            23         AMC Javelin           1          0         NA
#> 24            24          Camaro Z28           1          0         NA
#> 25            25    Pontiac Firebird           1          0         NA
#> 26            26           Fiat X1-9           1          0         NA
#> 27            27       Porsche 914-2           1          0         NA
#> 28            28        Lotus Europa           1          0         NA
#> 29            29      Ford Pantera L           1          0         NA
#> 30            30        Ferrari Dino           1          0         NA
#> 31            31       Maserati Bora           1          0         NA
#> 32            32          Volvo 142E           1          0         NA
#>    pag_attempted final_pag_result
#> 1          FALSE             <NA>
#> 2          FALSE             <NA>
#> 3          FALSE             <NA>
#> 4          FALSE             <NA>
#> 5          FALSE             <NA>
#> 6          FALSE             <NA>
#> 7          FALSE             <NA>
#> 8          FALSE             <NA>
#> 9          FALSE             <NA>
#> 10         FALSE             <NA>
#> 11         FALSE             <NA>
#> 12         FALSE             <NA>
#> 13         FALSE             <NA>
#> 14         FALSE             <NA>
#> 15         FALSE             <NA>
#> 16         FALSE             <NA>
#> 17         FALSE             <NA>
#> 18         FALSE             <NA>
#> 19         FALSE             <NA>
#> 20         FALSE             <NA>
#> 21         FALSE             <NA>
#> 22         FALSE             <NA>
#> 23         FALSE             <NA>
#> 24         FALSE             <NA>
#> 25         FALSE             <NA>
#> 26         FALSE             <NA>
#> 27         FALSE             <NA>
#> 28         FALSE             <NA>
#> 29         FALSE             <NA>
#> 30         FALSE             <NA>
#> 31         FALSE             <NA>
#> 32         FALSE             <NA>
#> 
#> $cpp_diagnostics
#> character(0)
#> 
#> $col_diagnostics
#>    abs_colnumber self_extent pag_attempted final_pag_result
#> 1              1           7         FALSE             <NA>
#> 2              2           6         FALSE             <NA>
#> 3              3           8         FALSE             <NA>
#> 4              4           6         FALSE             <NA>
#> 5              5           7         FALSE             <NA>
#> 6              6           8         FALSE             <NA>
#> 7              7           8         FALSE             <NA>
#> 8              8           5         FALSE             <NA>
#> 9              9           5         FALSE             <NA>
#> 10            10           7         FALSE             <NA>
#> 11            11           7         FALSE             <NA>
#> 
clws <- propose_column_widths(mpf)
clws[1] <- floor(clws[1] / 3)
dgnost <- diagnose_pagination(mpf, pg_width = 5, pg_height = 3, colwidths = clws)
#> Determining lines required for header content: 0 title and 2 table header lines
#> Determining lines required for footer content: 0 lines
#> Lines per page available for tables rows: 16 (original: 18)
#> Checking pagination after row 16
#> 	....................... FAIL: requires 38 lines [raw: 38 lns (16 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 15
#> 	....................... FAIL: requires 34 lines [raw: 34 lns (15 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 14
#> 	....................... FAIL: requires 31 lines [raw: 31 lns (14 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 13
#> 	....................... FAIL: requires 29 lines [raw: 29 lns (13 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 12
#> 	....................... FAIL: requires 27 lines [raw: 27 lns (12 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 11
#> 	....................... FAIL: requires 25 lines [raw: 25 lns (11 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 10
#> 	....................... FAIL: requires 23 lines [raw: 23 lns (10 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 9
#> 	....................... FAIL: requires 21 lines [raw: 21 lns (9 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 8
#> 	....................... FAIL: requires 19 lines [raw: 19 lns (8 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 7
#> 	....................... FAIL: requires 17 lines [raw: 17 lns (7 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 6
#> 	....................... OK [15 lines]
#> Checking pagination after row 22
#> 	....................... FAIL: requires 38 lines [raw: 38 lns (16 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 21
#> 	....................... FAIL: requires 35 lines [raw: 35 lns (15 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 20
#> 	....................... FAIL: requires 33 lines [raw: 33 lns (14 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 19
#> 	....................... FAIL: requires 30 lines [raw: 30 lns (13 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 18
#> 	....................... FAIL: requires 28 lines [raw: 28 lns (12 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 17
#> 	....................... FAIL: requires 26 lines [raw: 26 lns (11 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 16
#> 	....................... FAIL: requires 23 lines [raw: 23 lns (10 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 15
#> 	....................... FAIL: requires 19 lines [raw: 19 lns (9 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 14
#> 	....................... OK [16 lines]
#> Checking pagination after row 30
#> 	....................... FAIL: requires 41 lines [raw: 41 lns (16 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 29
#> 	....................... FAIL: requires 39 lines [raw: 39 lns (15 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 28
#> 	....................... FAIL: requires 36 lines [raw: 36 lns (14 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 27
#> 	....................... FAIL: requires 34 lines [raw: 34 lns (13 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 26
#> 	....................... FAIL: requires 31 lines [raw: 31 lns (12 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 25
#> 	....................... FAIL: requires 29 lines [raw: 29 lns (11 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 24
#> 	....................... FAIL: requires 26 lines [raw: 26 lns (10 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 23
#> 	....................... FAIL: requires 24 lines [raw: 24 lns (9 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 22
#> 	....................... FAIL: requires 22 lines [raw: 22 lns (8 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 21
#> 	....................... FAIL: requires 19 lines [raw: 19 lns (7 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 20
#> 	....................... FAIL: requires 17 lines [raw: 17 lns (6 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 19
#> 	....................... OK [14 lines]
#> Checking pagination after row 32
#> 	....................... FAIL: requires 32 lines [raw: 32 lns (13 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 31
#> 	....................... FAIL: requires 30 lines [raw: 30 lns (12 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 30
#> 	....................... FAIL: requires 27 lines [raw: 27 lns (11 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 29
#> 	....................... FAIL: requires 25 lines [raw: 25 lns (10 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 28
#> 	....................... FAIL: requires 22 lines [raw: 22 lns (9 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 27
#> 	....................... FAIL: requires 20 lines [raw: 20 lns (8 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 26
#> 	....................... FAIL: requires 17 lines [raw: 17 lns (7 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 25
#> 	....................... OK [15 lines]
#> Checking pagination after row 32
#> 	....................... FAIL: requires 17 lines [raw: 17 lns (7 rws), rep. context: 0 lns (0 rws), refs: 0 lns (0)  sect. divs: 0 lns].
#> Checking pagination after row 31
#> 	....................... FAIL: last row had only 0 following siblings, needed 2
#> Checking pagination after row 30
#> 	....................... FAIL: last row had only 1 following siblings, needed 2
#> Checking pagination after row 29
#> 	....................... OK [10 lines]
#> Checking pagination after row 32
#> 	....................... OK [7 lines]
#> Adjusted characters per page: 46 [original: 52, table inset: 0, row labels: 6]
#> Checking pagination after column 11
#> 	....................... FAIL: requires 74 chars (11 cols).
#> Checking pagination after column 10
#> 	....................... FAIL: requires 67 chars (10 cols).
#> Checking pagination after column 9
#> 	....................... FAIL: requires 60 chars (9 cols).
#> Checking pagination after column 8
#> 	....................... FAIL: requires 55 chars (8 cols).
#> Checking pagination after column 7
#> 	....................... FAIL: requires 50 chars (7 cols).
#> Checking pagination after column 6
#> 	....................... OK [42 chars]
#> Checking pagination after column 11
#> 	....................... OK [32 chars]
try(diagnose_pagination(mpf, pg_width = 1)) # fails
#> Determining lines required for header content: 0 title and 2 table header lines
#> Determining lines required for footer content: 0 lines
#> Lines per page available for tables rows: 88 (original: 90)
#> Checking pagination after row 32
#> 	....................... OK [32 lines]
#> Adjusted characters per page: -27 [original: -8, table inset: 0, row labels: 19]
#> Error in pag_indices_inner(mf_cinfo(mf), rlpp = rcpp, verbose = verbose,  : 
#>   Width of row labels equal to or larger than specified characters per page.
#> Error in diagnose_pagination(mpf, pg_width = 1) : 
#>   Width of row labels equal to or larger than specified characters per page.