Learn R Programming

psychotree (version 0.16-2)

mpttree: MPT Trees

Description

Recursive partitioning (also known as trees) based on multinomial processing tree (MPT) models.

Usage

mpttree(formula, data, na.action, cluster, spec, treeid = NULL,
  optimargs = list(control = list(reltol = .Machine$double.eps^(1/1.2),
                                  maxit = 1000)), ...)

Value

An object of S3 class "mpttree" inheriting from class

"modelparty".

Arguments

formula

a symbolic description of the model to be fit. This should be of type y ~ x1 + x2 where y should be a matrix of response frequencies and x1 and x2 are used as partitioning variables.

data

an optional data frame containing the variables in the model.

na.action

a function which indicates what should happen when the data contain NAs, defaulting to na.pass.

cluster

optional vector (typically numeric or factor) with a cluster ID to be employed for clustered covariances in the parameter stability tests.

spec, treeid, optimargs

arguments for the MPT model passed on to mptmodel.

...

arguments passed to mob_control.

Details

MPT trees (Wickelmaier & Zeileis, 2018) are an application of model-based recursive partitioning (implemented in mob) to MPT models (implemented in mptmodel). See Wickelmaier & Zeileis (2018) for a detailed discussion. For technical and algorithmic details, see the documentation of the two core functions linked above as well as vignette("mob", package = "partykit").

Various methods are provided for "mpttree" objects, most of them inherit their behavior from "mob" objects (e.g., print, summary, etc.). The plot method employs the node_mptplot panel-generating function.

References

Wickelmaier F, Zeileis A (2018). Using Recursive Partitioning to Account for Parameter Heterogeneity in Multinomial Processing Tree Models. Behavior Research Methods, 50(3), 1217--1233. tools:::Rd_expr_doi("10.3758/s13428-017-0937-z")

See Also

mob, mptmodel.

Examples

Run this code
o <- options(digits = 4)

## Source Monitoring data
data("SourceMonitoring", package = "psychotools")

## MPT tree
sm_tree <- mpttree(y ~ sources + gender + age, data = SourceMonitoring,
  spec = mptspec("SourceMon", .restr = list(d1 = d, d2 = d)))
plot(sm_tree, index = c("D1", "D2", "d", "b", "g"))

## extract parameter estimates
coef(sm_tree)

## parameter instability tests in root node
if(require("strucchange")) sctest(sm_tree, node = 1)

## storage and retrieval deficits in psychiatric patients
data("MemoryDeficits", package = "psychotools")
MemoryDeficits$trial <- ordered(MemoryDeficits$trial)

## MPT tree
sr_tree <- mpttree(cbind(E1, E2, E3, E4) ~ trial + group,
  data = MemoryDeficits, cluster = ID, spec = mptspec("SR2"), alpha = 0.1)

## extract parameter estimates
coef(sr_tree)

options(digits = o$digits)

Run the code above in your browser using DataLab