Generates tree estimates by estimation unit. Estimates are calculated from McConville et al. (2018)'s mase R package.

modMAtree(
  MApopdat,
  MAmethod,
  estvar,
  estvar.filter = NULL,
  estseed = "none",
  woodland = "Y",
  landarea = "FOREST",
  pcfilter = NULL,
  rowvar = NULL,
  colvar = NULL,
  prednames = NULL,
  modelselect = FALSE,
  FIA = TRUE,
  bootstrap = FALSE,
  returntitle = FALSE,
  savedata = FALSE,
  table_opts = NULL,
  title_opts = NULL,
  savedata_opts = NULL,
  gui = FALSE,
  modelselect_bydomain = FALSE,
  ...
)

Arguments

MApopdat

List. Population data objects returned from modMApop().

MAmethod

String. mase (i.e., model-assisted) method to use ('greg', 'gregEN', 'ratio').

estvar

String. Name of the tree-level estimate variable (e.g., 'VOLCFNET').

estvar.filter

String. A tree-level filter for estvar. Must be R syntax (e.g., 'STATUSCD == 1').

estseed

String. Use seedling data only or add to tree data. Seedling estimates are only for counts (estvar='TPA_UNADJ')-('none', 'only', 'add').

woodland

String. If woodland = 'Y', include woodland tree species where measured. If woodland = 'N', only include timber species. See FIESTA::ref_species$WOODLAND ='Y/N'. If woodland = 'only', only include woodland species.

landarea

String. The condition-level filter for defining land area ('ALL', 'FOREST', 'TIMBERLAND'). If landarea='FOREST', COND_STATUS_CD = 1; if landarea='TIMBERLAND', SITECLCD in(1:6) & RESERVCD = 0.

pcfilter

String. A filter for plot or cond attributes (including pltassgn). Must be R logical syntax.

rowvar

String. Optional. Name of domain variable to group estvar by for rows in table output. Rowvar must be included in an input data frame (i.e., plt, cond, tree). If no rowvar is included, an estimate is returned for the total estimation unit. Include colvar for grouping by 2 variables.

colvar

String. Optional. If rowvar != NULL, name of domain variable to group estvar by for columns in table output. Colvar must be included in an input data frame (i.e., plt, cond, tree).

prednames

String vector. Name(s) of predictor variables to include in model.

modelselect

Logical. If TRUE, an elastic net regression model is fit to the entire plot level data, and the variables selected in that model are used for the proceeding estimation.

FIA

Logical. If TRUE, the finite population term is removed from estimator to match FIA estimates.

bootstrap

Logical. If TRUE, returns bootstrap variance estimates, otherwise uses Horvitz-Thompson estimator under simple random sampling without replacement.

returntitle

Logical. If TRUE, returns title(s) of the estimation table(s).

savedata

Logical. If TRUE, saves table(s) to outfolder.

table_opts

List. See help(table_options()) for a list of options.

title_opts

List. See help(title_options()) for a list of options.

savedata_opts

List. See help(savedata_options()) for a list of options. Only used when savedata = TRUE.

gui

Logical. If gui, user is prompted for parameters.

modelselect_bydomain

Logical. If TRUE, modelselection will occur at the domain level as specified by rowvar and/or colvar and not at the level of the entire sample.

...

Parameters for modMApop() if MApopdat is NULL.

Value

If FIA=TRUE or unitvar=NULL and colvar=NULL, one data frame is returned with tree estimates and percent sample errors. Otherwise, a list is returned with tree estimates in one data frame (est) and percent sample errors in another data frame (est.pse). If rawdata=TRUE, another list is returned including raw data used in the estimation process. If addtitle=TRUE and returntitle=TRUE, the title for est/pse is returned. If savedata=TRUE, all data frames are written to outfolder.

est

Data frame. Tree estimates by rowvar, colvar (and estimation unit). If FIA=TRUE or one estimation unit and colvar=NULL, estimates and percent sampling error are in one data frame.

pse

Data frame. Percent sampling errors for estimates by rowvar and colvar (and estimation unit).

titlelst

List with 1 or 2 string vectors. If returntitle=TRUE a list with table title(s). The list contains one title if est and pse are in the same table and two titles if est and pse are in separate tables.

raw

List of data frames. If rawdata=TRUE, a list including: number of plots by plot status, if in dataset (plotsampcnt); number of conditions by condition status (condsampcnt); data used for post-stratification (stratdat); and 1-8 tables with calculated variables used for processing estimates and percent sampling error for table cell values and totals (See processing data below).

Raw data

plotsampcnt

Table. Number of plots by plot status (ex. sampled forest on plot, sampled nonforest, nonsampled).

condsampcnt

DF. Number of conditions by condition status (forest land, nonforest land, noncensus water, census water, nonsampled).

stratdat

Data frame. Strata information by estimation unit.

VariableDescription
ESTUNITestimation unit
STRATAstrata
ACRESarea by strata for estimation unit
n.stratanumber of plots in strata (and estimation unit)
n.totalnumber of plots for estimation unit
TOTACREStotal area for estimation unit
strwtproportion of area (or number of plots) by strata (strata weight)
expfac.strataexpansion factor (in area unit (e.g., acres) by strata (areavar/n.strata)
processing data

Data frames. Separate data frames containing calculated variables used in estimation process. The number of processing tables depends on the input parameters. The tables include: total by estimation unit (unit.totest); rowvar totals (unit.rowest), and if colvar is not NULL, colvar totals, (unit.colvar); and a combination of rowvar and colvar (unit.grpvar). If FIA=TRUE, the raw data for the summed estimation units are also included (totest, rowest, colest, grpest, respectively). These tables do not included estimate proportions (nhat and nhat.var).

The data frames include the following information:

VariableDescription
nhatestimated proportion of trees
nhat.varestimated variance of estimated proportion of trees
ACREStotal area for estimation unit
estestimated area of trees nhat*ACRES
est.varestimated variance of estimated area of trees nhat.var*areavar^2
est.sestandard error of estimated area of trees sqrt(est.var)
est.cvcoefficient of variation of estimated area of trees est.se/est
psepercent sampling error of estimate est.cv*100
CI99leftleft tail of 99 percent confidence interval for estimated area
CI99rightright tail of 99 percent confidence interval for estimated area
CI95leftleft tail of 95 percent confidence interval for estimated area
CI95rightright tail of 95 percent confidence interval for estimated area
CI67leftleft tail of 67 percent confidence interval for estimated area
CI67rightright tail of 67 percent confidence interval for estimated area

Table(s) are also written to outfolder.

Details

If variables are NULL, then it will prompt user to input variables.

Necessary variables:

DataVariableDescription
treetuniqueidUnique identifier for each plot, to link to pltassgn (e.g. PLT_CN).
CONDIDUnique identifier of each condition on plot, to link to cond. Set CONDID=1, if only 1 condition per plot.
TPA_UNADJNumber of trees per acre each sample tree represents (e.g., DESIGNCD=1: TPA_UNADJ=6.018046 for trees on subplot; 74.965282 for trees on microplot).
condcuniqueidUnique identifier for each plot, to link to pltassgn (ex. PLT_CN).
CONDIDUnique identifier of each condition on plot. Set CONDID=1, if only 1 condition per plot.
CONDPROP_UNADJUnadjusted proportion of condition on each plot. Set CONDPROP_UNADJ=1, if only 1 condition per plot.
COND_STATUS_CDStatus of each forested condition on plot (i.e. accessible forest, nonforest, water, etc.)
NF_COND_STATUS_CDIf ACI=TRUE. Status of each nonforest condition on plot (i.e. accessible nonforest, nonsampled nonforest)
SITECLCDIf landarea=TIMBERLAND. Measure of site productivity.
RESERVCDIf landarea=TIMBERLAND. Reserved status.
SUBPROP_UNADJUnadjusted proportion of subplot conditions on each plot. Set SUBPROP_UNADJ=1, if only 1 condition per subplot.
MICRPROP_UNADJIf microplot tree attributes. Unadjusted proportion of microplot conditions on each plot. Set MICRPROP_UNADJ=1, if only 1 condition per microplot.
MACRPROP_UNADJIf macroplot tree attributes. Unadjusted proportion of macroplot conditions on each plot. Set MACRPROP_UNADJ=1, if only 1 condition per macroplot.
pltassgnpuniqueidUnique identifier for each plot, to link to cond (ex. CN).
STATECDIdentifies state each plot is located in.
INVYRIdentifies inventory year of each plot.
PLOT_STATUS_CDStatus of each plot (i.e. sampled, nonsampled). If not included, all plots are assumed as sampled.

Reference names are available for the following variables:
ADFORCD, AGENTCD, CCLCD, DECAYCD, DSTRBCD, KINDCD, OWNCD, OWNGRPCD, FORTYPCD, FLDTYPCD, FORTYPCDCALC, TYPGRPCD, FORINDCD, RESERVCD, LANDCLCD, STDSZCD, FLDSZCD, PHYSCLCD, MIST_CL_CD, PLOT_STATUS_CD, STATECD, TREECLCD, TRTCD, SPCD, SPGRPCD

Note

ADJUSTMENT FACTOR:
The adjustment factor is necessary to account for nonsampled conditions. It is calculated for each estimation unit by strata. by summing the unadjusted proportions of the subplot, microplot, and macroplot (i.e. *PROP_UNADJ) and dividing by the number of plots in the strata/estimation unit).

An adjustment factor is determined for each tree based on the size of the plot it was measured on. This is identified using TPA_UNADJ as follows:

PLOT SIZETPA_UNADJ
SUBPLOT6.018046
MICROPLOT74.965282
MACROPLOT0.999188

If ACI=FALSE, only nonsampled forest conditions are accounted for in the adjustment factor.
If ACI=TRUE, the nonsampled nonforest conditions are removed as well and accounted for in adjustment factor. This is if you are interested in estimates for all lands or nonforest lands in the All-Condition-Inventory.

sumunits:
An estimation unit is a population, or area of interest, with known area and number of plots. Individual counties or combined Super-counties are common estimation units for FIA. An estimation unit may also be a subpopulation of a larger population (e.g., Counties within a State). Subpopulations are mutually exclusive and independent within a population, therefore estimated totals and variances are additive. For example, State-level estimates are generated by summing estimates from all subpopulations within the State (Bechtold and Patterson. 2005. Chapter 2). Each plot must be assigned to only one estimation unit.

stratcombine:
If MAmethod='PS', and stratcombine=TRUE, and less than 2 plots in any one estimation unit, all estimation units with 10 or less plots are combined. The current method for combining is to group the estimation unit with less than 10 plots with the estimation unit following in consecutive order (numeric or alphabetical), restrained by survey unit (UNITCD) if included in dataset, and continuing until the number of plots equals 10. If there are no estimation units following in order, it is combined with the estimation unit previous in order.

autoxreduce:
If MAmethod='GREG', and autoxreduce=TRUE, and there is an error because of multicolinearity, a variable reduction method is applied to remove correlated variables. The method used is based on the variance-inflation factor (vif) from a linear model. The vif estimates how much the variance of each x variable is inflated due to mulitcolinearity in the model.

rowlut/collut:
There are several objectives for including rowlut/collut look-up tables: 1) to include descriptive names that match row/column codes in the input table; 2) to use number codes that match row/column names in the input table for ordering rows; 3) to add rows and/or columns with 0 values for consistency. No duplicate names are allowed.

Include 2 columns in the table:
1-the merging variable with same name as the variable in the input merge table;
2-the ordering or descriptive variable.
If the ordering variable is the rowvar/colvar in the input table and the descriptive variable is in rowlut/collut, set row.orderby/col.orderby equal to rowvar/colvar. If the descriptive variable is the rowvar/colvar in the input table, and the ordering code variable is in rowlut/collut, set row.orderby/col.orderby equal to the variable name of the code variable in rowlut/collut.

UNITS:
The following variables are converted from pounds (from FIA database) to short tons by multiplying the variable by 0.0005. DRYBIO_AG, DRYBIO_BG, DRYBIO_WDLD_SPP, DRYBIO_SAPLING, DRYBIO_STUMP, DRYBIO_TOP, DRYBIO_BOLE, DRYBIOT, DRYBIOM, DRYBIOTB, JBIOTOT, CARBON_BG, CARBON_AG

MORTALITY:
For Interior-West FIA, mortality estimates are mainly based on whether a tree has died within the last 5 years of when the plot was measured. If a plot was remeasured, mortality includes trees that were alive the previous visit but were dead in the next visit. If a tree was standing the previous visit, but was not standing in the next visit, no diameter was collected (DIA = NA) but the tree is defined as mortality.

Common tree filters:

FILTERDESCRIPTION
"STATUSCD == 1"Live trees
"STATUSCD == 2"Dead trees
"TPAMORT_UNADJ > 0"Mortality trees
"STATUSCD == 2 & DIA >= 5.0"Dead trees >= 5.0 inches diameter
"STATUSCD == 2 & AGENTCD == 30"Dead trees from fire

References

Kelly McConville, Becky Tang, George Zhu, Shirley Cheung, and Sida Li (2018). mase: Model-Assisted Survey Estimation. R package version 0.1.2 https://cran.r-project.org/package=mase

Author

Tracey S. Frescino

Examples

# \donttest{
# Set up population dataset (see ?modMApop() for more information)
MApopdat <- modMApop(popTabs = list(tree = FIESTA::WYtree,
                                    cond = FIESTA::WYcond),
                     pltassgn = FIESTA::WYpltassgn,
                     pltassgnid = "CN",
                     unitarea = FIESTA::WYunitarea,
                     unitvar = "ESTN_UNIT",
                     unitzonal = FIESTA::WYunitzonal,
                     prednames = c("dem", "tcc", "tpi", "tnt"),
                     predfac = "tnt")
#> For FIA estimation, adjustment factors are calculated to account for plots with partial nonresponse.
#> ...there are 14 nonsampled forest conditions in the dataset.
#> COND_STATUS_CD != 5
#> filter removed 14 records: COND_STATUS_CD != 5
                     
# Use GREG Estimator to Estimate cubic foot volume of live trees in our
# population
mod1 <- modMAtree(MApopdat = MApopdat,
          MAmethod = "greg",
          estvar = "VOLCFNET",
          estvar.filter = "STATUSCD == 1")
#> COND_STATUS_CD == 1
#> filter removed 2620 records: COND_STATUS_CD == 1
#> COND_STATUS_CD == 1
#> multiplying VOLCFNET by TPA
#> STATUSCD == 1
#> generating estimates using mase::greg function...
#> using the following predictors...dem, tcc, tpi, tnt2
#> getting output...
          
str(mod1)
#> List of 4
#>  $ est    :Classes ‘data.table’ and 'data.frame':	23 obs. of  3 variables:
#>   ..$ ESTN_UNIT             : chr [1:23] "1" "11" "13" "15" ...
#>   ..$ Estimate              : num [1:23] 4.80e+08 8.42e+08 8.23e+08 0.00 1.10e+08 ...
#>   ..$ Percent Sampling Error: num [1:23] 10.9 15.3 12.6 NaN 47.9 ...
#>   ..- attr(*, ".internal.selfref")=<externalptr> 
#>   ..- attr(*, "sorted")= chr "ESTN_UNIT"
#>  $ raw    :List of 13
#>   ..$ unit_totest  :'data.frame':	23 obs. of  18 variables:
#>   .. ..$ ESTN_UNIT : chr [1:23] "1" "11" "13" "15" ...
#>   .. ..$ nhat      : num [1:23] 173.9 458.4 138.8 0 85.4 ...
#>   .. ..$ nhat.var  : num [1:23] 360 4893 308 0 1675 ...
#>   .. ..$ NBRPLT    : int [1:23] 133 85 290 70 58 128 86 132 175 79 ...
#>   .. ..$ NBRPLT.gt0: int [1:23] 23 26 46 0 5 21 2 37 5 2 ...
#>   .. ..$ ACRES     : num [1:23] 2757613 1837124 5930088 1428579 1283969 ...
#>   .. ..$ AREAUSED  : num [1:23] 2757613 1837124 5930088 1428579 1283969 ...
#>   .. ..$ est       : num [1:23] 4.80e+08 8.42e+08 8.23e+08 0.00 1.10e+08 ...
#>   .. ..$ est.var   : num [1:23] 2.74e+15 1.65e+16 1.08e+16 0.00 2.76e+15 ...
#>   .. ..$ est.se    : num [1:23] 5.23e+07 1.29e+08 1.04e+08 0.00 5.26e+07 ...
#>   .. ..$ est.cv    : num [1:23] 0.109 0.153 0.126 NaN 0.479 ...
#>   .. ..$ pse       : num [1:23] 10.9 15.3 12.6 NaN 47.9 ...
#>   .. ..$ CI99left  : num [1:23] 3.45e+08 5.11e+08 5.55e+08 0.00 0.00 ...
#>   .. ..$ CI99right : num [1:23] 6.14e+08 1.17e+09 1.09e+09 0.00 2.45e+08 ...
#>   .. ..$ CI95left  : num [1:23] 3.77e+08 5.90e+08 6.19e+08 0.00 6.70e+06 ...
#>   .. ..$ CI95right : num [1:23] 5.82e+08 1.09e+09 1.03e+09 0.00 2.13e+08 ...
#>   .. ..$ CI68left  : num [1:23] 4.28e+08 7.14e+08 7.20e+08 0.00 5.74e+07 ...
#>   .. ..$ CI68right : num [1:23] 5.32e+08 9.70e+08 9.27e+08 0.00 1.62e+08 ...
#>   ..$ domdat       :'data.frame':	3210 obs. of  19 variables:
#>   .. ..$ PLT_CN               : chr [1:3210] "40404728010690" "40404729010690" "40404730010690" "40404731010690" ...
#>   .. ..$ CONDID               : num [1:3210] 1 1 1 1 1 1 1 1 1 2 ...
#>   .. ..$ CONDPROP_UNADJ       : num [1:3210] 1 1 1 1 1 1 1 1 0.75 0.25 ...
#>   .. ..$ SUBPPROP_UNADJ       : num [1:3210] 1 1 1 1 1 1 1 1 0.75 0.25 ...
#>   .. ..$ MACRPROP_UNADJ       : logi [1:3210] NA NA NA NA NA NA ...
#>   .. ..$ MICRPROP_UNADJ       : num [1:3210] 1 1 1 1 1 1 1 1 0.75 0.25 ...
#>   .. ..$ ESTN_UNIT            : Factor w/ 23 levels "1","3","5","7",..: 1 1 1 1 1 1 1 1 1 1 ...
#>   .. ..$ dem                  : int [1:3210] 2372 2382 2274 2203 2276 2178 2214 2229 2576 2576 ...
#>   .. ..$ tcc                  : int [1:3210] 0 5 45 0 0 0 0 0 16 16 ...
#>   .. ..$ tpi                  : num [1:3210] 10.625 0.75 -12.125 -0.125 1.25 ...
#>   .. ..$ tnt2                 : num [1:3210] 1 1 0 1 1 1 1 1 0 0 ...
#>   .. ..$ cadjfac              : num [1:3210] 1 1 1 1 1 1 1 1 1 1 ...
#>   .. ..$ ADJ_FACTOR_SUBP      : num [1:3210] 1 1 1 1 1 1 1 1 1 1 ...
#>   .. ..$ ADJ_FACTOR_MACR      : num [1:3210] 0 0 0 0 0 0 0 0 0 0 ...
#>   .. ..$ ADJ_FACTOR_MICR      : num [1:3210] 1 1 1 1 1 1 1 1 1 1 ...
#>   .. ..$ CONDPROP_ADJ         : num [1:3210] 1 1 1 1 1 1 1 1 0.75 0.25 ...
#>   .. ..$ COND_STATUS_CD       : int [1:3210] NA 1 1 NA NA NA NA NA NA 1 ...
#>   .. ..$ TOTAL                : num [1:3210] NA 1 1 NA NA NA NA NA NA 1 ...
#>   .. ..$ VOLCFNET_TPA_live_ADJ: num [1:3210] NA 41.8 1563 NA NA ...
#>   ..$ plotweights  :List of 1
#>   .. ..$ areaweights: num(0) 
#>   ..$ estvar       : chr "VOLCFNET"
#>   ..$ estvar.filter: chr "STATUSCD == 1"
#>   ..$ module       : chr "MA"
#>   ..$ esttype      : chr "TREE"
#>   ..$ MAmethod     : chr "greg"
#>   ..$ predselectlst:List of 1
#>   .. ..$ totest:Classes ‘data.table’ and 'data.frame':	23 obs. of  6 variables:
#>   .. .. ..$ ESTN_UNIT: Factor w/ 23 levels "1","3","5","7",..: 1 2 3 4 5 6 7 8 9 10 ...
#>   .. .. ..$ TOTAL    : num [1:23] 1 1 1 1 1 1 1 1 1 1 ...
#>   .. .. ..$ dem      : num [1:23] -0.146 0.2523 -0.1275 0.3033 0.0549 ...
#>   .. .. ..$ tcc      : num [1:23] 31.28 26.62 2.84 16.98 30.97 ...
#>   .. .. ..$ tpi      : num [1:23] 17.2169 -11.0096 -1.3899 0.0277 12.873 ...
#>   .. .. ..$ tnt2     : num [1:23] 47.3 -109 -673.1 -529.7 66.7 ...
#>   .. .. ..- attr(*, ".internal.selfref")=<externalptr> 
#>   ..$ rowvar       : chr "TOTAL"
#>   ..$ colvar       : chr "NONE"
#>   ..$ areaunits    : chr "acres"
#>   ..$ estunits     : Factor w/ 23 levels "1","3","5","7",..: 1 2 3 4 5 6 7 8 9 10 ...
#>  $ statecd: int 56
#>  $ invyr  : int [1:3] 2011 2012 2013
          
# Use GREG Elastic Net Estimator to Estimate basal area of live trees in our
# population
mod2 <- modMAtree(MApopdat = MApopdat,
          MAmethod = "gregEN",
          estvar = "BA",
          estvar.filter = "STATUSCD == 1")
#> COND_STATUS_CD == 1
#> filter removed 2620 records: COND_STATUS_CD == 1
#> COND_STATUS_CD == 1
#> multiplying BA by TPA
#> STATUSCD == 1
#> generating estimates using mase::gregElasticNet function...
#> using the following predictors...dem, tcc, tpi, tnt2
#> getting output...
          
str(mod2)
#> List of 4
#>  $ est    :Classes ‘data.table’ and 'data.frame':	23 obs. of  3 variables:
#>   ..$ ESTN_UNIT             : chr [1:23] "1" "11" "13" "15" ...
#>   ..$ Estimate              : num [1:23] 34485230 46562509 73605960 308998 5381024 ...
#>   ..$ Percent Sampling Error: num [1:23] 8.86 13.04 11.12 84.58 58.63 ...
#>   ..- attr(*, ".internal.selfref")=<externalptr> 
#>   ..- attr(*, "sorted")= chr "ESTN_UNIT"
#>  $ raw    :List of 13
#>   ..$ unit_totest  :'data.frame':	23 obs. of  18 variables:
#>   .. ..$ ESTN_UNIT : chr [1:23] "1" "11" "13" "15" ...
#>   .. ..$ nhat      : num [1:23] 12.505 25.345 12.412 0.216 4.191 ...
#>   .. ..$ nhat.var  : num [1:23] 1.2275 10.9171 1.9067 0.0335 6.037 ...
#>   .. ..$ NBRPLT    : int [1:23] 133 85 290 70 58 128 86 132 175 79 ...
#>   .. ..$ NBRPLT.gt0: int [1:23] 24 26 49 2 6 22 2 37 7 2 ...
#>   .. ..$ ACRES     : num [1:23] 2757613 1837124 5930088 1428579 1283969 ...
#>   .. ..$ AREAUSED  : num [1:23] 2757613 1837124 5930088 1428579 1283969 ...
#>   .. ..$ est       : num [1:23] 34485230 46562509 73605960 308998 5381024 ...
#>   .. ..$ est.var   : num [1:23] 9.33e+12 3.68e+13 6.71e+13 6.83e+10 9.95e+12 ...
#>   .. ..$ est.se    : num [1:23] 3055243 6070050 8188560 261346 3154761 ...
#>   .. ..$ est.cv    : num [1:23] 0.0886 0.1304 0.1112 0.8458 0.5863 ...
#>   .. ..$ pse       : num [1:23] 8.86 13.04 11.12 84.58 58.63 ...
#>   .. ..$ CI99left  : num [1:23] 26615447 30927097 52513628 0 0 ...
#>   .. ..$ CI99right : num [1:23] 42355014 62197921 94698292 982181 13507150 ...
#>   .. ..$ CI95left  : num [1:23] 28497065 34665430 57556678 0 0 ...
#>   .. ..$ CI95right : num [1:23] 40473396 58459588 89655242 821227 11564242 ...
#>   .. ..$ CI68left  : num [1:23] 31446920 40526100 65462782 49100 2243746 ...
#>   .. ..$ CI68right : num [1:23] 37523541 52598918 81749137 568895 8518301 ...
#>   ..$ domdat       :'data.frame':	3210 obs. of  19 variables:
#>   .. ..$ PLT_CN         : chr [1:3210] "40404728010690" "40404729010690" "40404730010690" "40404731010690" ...
#>   .. ..$ CONDID         : num [1:3210] 1 1 1 1 1 1 1 1 1 2 ...
#>   .. ..$ CONDPROP_UNADJ : num [1:3210] 1 1 1 1 1 1 1 1 0.75 0.25 ...
#>   .. ..$ SUBPPROP_UNADJ : num [1:3210] 1 1 1 1 1 1 1 1 0.75 0.25 ...
#>   .. ..$ MACRPROP_UNADJ : logi [1:3210] NA NA NA NA NA NA ...
#>   .. ..$ MICRPROP_UNADJ : num [1:3210] 1 1 1 1 1 1 1 1 0.75 0.25 ...
#>   .. ..$ ESTN_UNIT      : Factor w/ 23 levels "1","3","5","7",..: 1 1 1 1 1 1 1 1 1 1 ...
#>   .. ..$ dem            : int [1:3210] 2372 2382 2274 2203 2276 2178 2214 2229 2576 2576 ...
#>   .. ..$ tcc            : int [1:3210] 0 5 45 0 0 0 0 0 16 16 ...
#>   .. ..$ tpi            : num [1:3210] 10.625 0.75 -12.125 -0.125 1.25 ...
#>   .. ..$ tnt2           : num [1:3210] 1 1 0 1 1 1 1 1 0 0 ...
#>   .. ..$ cadjfac        : num [1:3210] 1 1 1 1 1 1 1 1 1 1 ...
#>   .. ..$ ADJ_FACTOR_SUBP: num [1:3210] 1 1 1 1 1 1 1 1 1 1 ...
#>   .. ..$ ADJ_FACTOR_MACR: num [1:3210] 0 0 0 0 0 0 0 0 0 0 ...
#>   .. ..$ ADJ_FACTOR_MICR: num [1:3210] 1 1 1 1 1 1 1 1 1 1 ...
#>   .. ..$ CONDPROP_ADJ   : num [1:3210] 1 1 1 1 1 1 1 1 0.75 0.25 ...
#>   .. ..$ COND_STATUS_CD : int [1:3210] NA 1 1 NA NA NA NA NA NA 1 ...
#>   .. ..$ TOTAL          : num [1:3210] NA 1 1 NA NA NA NA NA NA 1 ...
#>   .. ..$ BA_TPA_live_ADJ: num [1:3210] NA 14.3 119.7 NA NA ...
#>   ..$ plotweights  :List of 1
#>   .. ..$ areaweights: num(0) 
#>   ..$ estvar       : chr "BA"
#>   ..$ estvar.filter: chr "STATUSCD == 1"
#>   ..$ module       : chr "MA"
#>   ..$ esttype      : chr "TREE"
#>   ..$ MAmethod     : chr "gregEN"
#>   ..$ predselectlst:List of 1
#>   .. ..$ totest:Classes ‘data.table’ and 'data.frame':	23 obs. of  6 variables:
#>   .. .. ..$ ESTN_UNIT: Factor w/ 23 levels "1","3","5","7",..: 1 2 3 4 5 6 7 8 9 10 ...
#>   .. .. ..$ TOTAL    : num [1:23] 1 1 1 1 1 1 1 1 1 1 ...
#>   .. .. ..$ dem      : num [1:23] -0.0084 0.0135 -0.0057 0.0224 0.016 ...
#>   .. .. ..$ tcc      : num [1:23] 1.962 1.36 0.706 1.3 1.945 ...
#>   .. .. ..$ tpi      : num [1:23] 0 0 -0.692 0.133 0 ...
#>   .. .. ..$ tnt2     : num [1:23] 0 0 0 -18.3 0 ...
#>   .. .. ..- attr(*, ".internal.selfref")=<externalptr> 
#>   ..$ rowvar       : chr "TOTAL"
#>   ..$ colvar       : chr "NONE"
#>   ..$ areaunits    : chr "acres"
#>   ..$ estunits     : Factor w/ 23 levels "1","3","5","7",..: 1 2 3 4 5 6 7 8 9 10 ...
#>  $ statecd: int 56
#>  $ invyr  : int [1:3] 2011 2012 2013
# }