Extract the data used to fit a model.
Arguments
- mod
A fitted model object, or a list or nested list of such objects.
- subset
Logical. If
TRUE
, only observations used to fit the model(s) are returned (i.e. missing observations (NA
) or those with zero weight are removed).- merge
Logical. If
TRUE
, andmod
is a list or nested list, a single dataset containing all variables used to fit models is returned (variables must be the same length).- env
Environment in which to look for data (passed to
eval()
). Defaults to theformula()
environment.
Details
This is a simple convenience function to return the data used to fit a model, by evaluating the 'data' slot of the model call object. If the 'data' argument of the model call was not specified, or is not a data frame (or coercible to such) containing all variables referenced in the model formula, an error will be thrown – this restriction is largely to ensure that a single coherent dataset of all model variables can be made available for resampling purposes.
If mod
is a list of models and merge = TRUE
, all (unique) variables
used to fit models are merged into a single data frame. This will return an
error if subset = TRUE
results in datasets with different numbers of
observations (rows).
Examples
# Get data used to fit SEM from Shipley (2009)
head(getData(shipley.sem[[1]])) # from single model
#> site tree lat year Date DD Growth Survival Live
#> 1 1 1 40.38063 1970 115.4956 160.5703 61.36852 0.9996238 1
#> 2 1 2 40.38063 1970 118.4959 158.9896 43.77182 0.8433521 1
#> 3 1 3 40.38063 1970 115.8836 159.9262 44.74663 0.9441110 1
#> 4 1 4 40.38063 1970 110.9889 161.1282 48.20004 0.9568525 1
#> 5 1 5 40.38063 1970 120.9946 157.3778 50.02237 0.9759584 1
#> 6 1 1 40.38063 1972 114.2315 160.6120 56.29615 0.9983398 1
lapply(getData(shipley.sem), head) # from SEM (list)
#> $DD
#> site tree lat year Date DD Growth Survival Live
#> 1 1 1 40.38063 1970 115.4956 160.5703 61.36852 0.9996238 1
#> 2 1 2 40.38063 1970 118.4959 158.9896 43.77182 0.8433521 1
#> 3 1 3 40.38063 1970 115.8836 159.9262 44.74663 0.9441110 1
#> 4 1 4 40.38063 1970 110.9889 161.1282 48.20004 0.9568525 1
#> 5 1 5 40.38063 1970 120.9946 157.3778 50.02237 0.9759584 1
#> 6 1 1 40.38063 1972 114.2315 160.6120 56.29615 0.9983398 1
#>
#> $Date
#> site tree lat year Date DD Growth Survival Live
#> 1 1 1 40.38063 1970 115.4956 160.5703 61.36852 0.9996238 1
#> 2 1 2 40.38063 1970 118.4959 158.9896 43.77182 0.8433521 1
#> 3 1 3 40.38063 1970 115.8836 159.9262 44.74663 0.9441110 1
#> 4 1 4 40.38063 1970 110.9889 161.1282 48.20004 0.9568525 1
#> 5 1 5 40.38063 1970 120.9946 157.3778 50.02237 0.9759584 1
#> 6 1 1 40.38063 1972 114.2315 160.6120 56.29615 0.9983398 1
#>
#> $Growth
#> site tree lat year Date DD Growth Survival Live
#> 1 1 1 40.38063 1970 115.4956 160.5703 61.36852 0.9996238 1
#> 2 1 2 40.38063 1970 118.4959 158.9896 43.77182 0.8433521 1
#> 3 1 3 40.38063 1970 115.8836 159.9262 44.74663 0.9441110 1
#> 4 1 4 40.38063 1970 110.9889 161.1282 48.20004 0.9568525 1
#> 5 1 5 40.38063 1970 120.9946 157.3778 50.02237 0.9759584 1
#> 6 1 1 40.38063 1972 114.2315 160.6120 56.29615 0.9983398 1
#>
#> $Live
#> site tree lat year Date DD Growth Survival Live
#> 1 1 1 40.38063 1970 115.4956 160.5703 61.36852 0.9996238 1
#> 2 1 2 40.38063 1970 118.4959 158.9896 43.77182 0.8433521 1
#> 3 1 3 40.38063 1970 115.8836 159.9262 44.74663 0.9441110 1
#> 4 1 4 40.38063 1970 110.9889 161.1282 48.20004 0.9568525 1
#> 5 1 5 40.38063 1970 120.9946 157.3778 50.02237 0.9759584 1
#> 6 1 1 40.38063 1972 114.2315 160.6120 56.29615 0.9983398 1
#>
head(getData(shipley.sem, merge = TRUE)) # from SEM (single dataset)
#> site tree lat year Date DD Growth Survival Live
#> 1 1 1 40.38063 1970 115.4956 160.5703 61.36852 0.9996238 1
#> 2 1 2 40.38063 1970 118.4959 158.9896 43.77182 0.8433521 1
#> 3 1 3 40.38063 1970 115.8836 159.9262 44.74663 0.9441110 1
#> 4 1 4 40.38063 1970 110.9889 161.1282 48.20004 0.9568525 1
#> 5 1 5 40.38063 1970 120.9946 157.3778 50.02237 0.9759584 1
#> 6 1 1 40.38063 1972 114.2315 160.6120 56.29615 0.9983398 1