Learn R Programming

BIOdry (version 0.3)

modelFrame: Multilevel modeling

Description

Multilevel modeling of data frames with factor-level columns.

Usage

modelFrame(rd, lv = list(2, 1, 1), fn = list("rtimes", "scacum", "amod"), form = NULL, ...)

Arguments

rd
data.frame object with factor-level columns.
lv
List of numeric positions in the factor-level columns to implement one-level functions, or character names of such columns.
fn
List of character names of the one-level functions to be recursively implemented (see details).
form
character or NULL. Name of an LME formula to be used in residual subtraction. Two methods are available: 'lmeForm' or 'tdForm'. These methods implement functions with the same names (see lmeForm and tdForm). If NULL then such a modeling is not developed.
...
Combined arguments to be evaluated by functions in fn (see details).

Value

form, either data frame, or fitted lme object (see nlmeObject).

Details

Default arguments produce modeling of tree growth from dendrochonological data with recursive implementation of rtimes, scacum, amod, and ringLme. Nevertheless, other functions can also be implemented (see example with climatic data). Internal algorithm uses arguSelect and ringApply. Consequently, arguments not to be vectorized should be specified in a 'MoreArgs' list (see example).

References

Lara W., F. Bravo, D. Maguire. 2013. Modeling patterns between drought and tree biomass growth from dendrochronological data: A multilevel approach. Agric. For. Meteorol., 178-179:140-151.

Examples

Run this code

##Multilevel data frame of tree-ring widths:
data(Prings05,envir = environment())
## Radial increments measured on 2003:
data(Pradii03,envir = environment())    
## Climatic records of monthly precipitations and temperatures
data(PTclim05,envir = environment())

## Modeling tree growth:
ar <- modelFrame(Prings05, y = Pradii03,form = 'tdForm',
                 MoreArgs = list(only.dup = TRUE,
                                 mp = c(1,1),un = c('mm','cm'),z = 2003))
head(ar$resid)
summary(ar$model)    
##a plot of the tree-growth fluctuations:
d <- groupedData(lmeForm(ar$resid,lev.rm = 1),data = ar$resid)
plot(d,groups = ~ sample,auto.key = TRUE)

## Modeling aridity:
cf <- modelFrame(rd=PTclim05,
                 lv = list('year','year'),
                 fn = list('moveYr','wlai'),
                 form = 'lmeForm')
head(cf$resid)
##a plot of the aridity fluctuations:
dc <- groupedData(lmeForm(cf$resid),data = cf$resid)
plot(dc, auto.key = TRUE)

Run the code above in your browser using DataLab