# betatree

##### Beta Regression Trees

Fit beta regression trees via model-based recursive partitioning.

- Keywords
- tree

##### Usage

```
betatree(formula, partition,
data, subset = NULL, na.action = na.omit, weights, offset, cluster,
link = "logit", link.phi = "log", control = betareg.control(),
…)
```

##### Arguments

- formula
symbolic description of the model of type

`y ~ x`

or`y ~ x | z`

, specifying the variables influencing mean and precision of`y`

, respectively. For details see`betareg`

.- partition
symbolic description of the partitioning variables, e.g.,

`~ p1 + p2`

. The argument`partition`

can be omitted if`formula`

is a three-part formula of type`y ~ x | z | p1 + p2`

.- data, subset, na.action, weights, offset, cluster
arguments controlling data/model processing passed to

`mob`

.- link
character specification of the link function in the mean model (mu). Currently,

`"logit"`

,`"probit"`

,`"cloglog"`

,`"cauchit"`

,`"log"`

,`"loglog"`

are supported. Alternatively, an object of class`"link-glm"`

can be supplied.- link.phi
character specification of the link function in the precision model (phi). Currently,

`"identity"`

,`"log"`

,`"sqrt"`

are supported. Alternatively, an object of class`"link-glm"`

can be supplied.- control
a list of control arguments for the beta regression specified via

`betareg.control`

.- …
further control arguments for the recursive partitioning passed to

`mob_control`

.

##### Details

Beta regression trees are an application of model-based recursive partitioning
(implemented in `mob`

, see Zeileis et al. 2008) to
beta regression (implemented in `betareg`

, see Cribari-Neto
and Zeileis 2010). See also Gr<U+2E821D20>al. (2012) for more details.

Various methods are provided for `"betatree"`

objects, most of them
inherit their behavior from `"mob"`

objects (e.g., `print`

, `summary`

,
`coef`

, etc.). The `plot`

method employs the `node_bivplot`

panel-generating function.

##### Value

`betatree()`

returns an object of S3 class `"betatree"`

which
inherits from `"modelparty"`

.

##### References

Cribari-Neto, F., and Zeileis, A. (2010). Beta Regression in R.
*Journal of Statistical Software*, **34**(2), 1--24.
http://www.jstatsoft.org/v34/i02/.

Gr<U+2EB200AE>, Kosmidis, I., and Zeileis, A. (2012).
Extended Beta Regression in R: Shaken, Stirred, Mixed, and Partitioned.
*Journal of Statistical Software*, **48**(11), 1--25.
http://www.jstatsoft.org/v48/i11/.

Zeileis, A., Hothorn, T., and Hornik K. (2008).
Model-Based Recursive Partitioning.
*Journal of Computational and Graphical Statistics*,
**17**(2), 492--514.

##### See Also

##### Examples

```
# NOT RUN {
options(digits = 4)
suppressWarnings(RNGversion("3.5.0"))
## data with two groups of dyslexic and non-dyslexic children
data("ReadingSkills", package = "betareg")
## additional random noise (not associated with reading scores)
set.seed(1071)
ReadingSkills$x1 <- rnorm(nrow(ReadingSkills))
ReadingSkills$x2 <- runif(nrow(ReadingSkills))
ReadingSkills$x3 <- factor(rnorm(nrow(ReadingSkills)) > 0)
## fit beta regression tree: in each node
## - accurcay's mean and precision depends on iq
## - partitioning is done by dyslexia and the noise variables x1, x2, x3
## only dyslexia is correctly selected for splitting
bt <- betatree(accuracy ~ iq | iq, ~ dyslexia + x1 + x2 + x3,
data = ReadingSkills, minsize = 10)
plot(bt)
## inspect result
coef(bt)
if(require("strucchange")) sctest(bt)
## IGNORE_RDIFF_BEGIN
summary(bt, node = 2)
summary(bt, node = 3)
## IGNORE_RDIFF_END
## add a numerical variable with relevant information for splitting
ReadingSkills$x4 <- rnorm(nrow(ReadingSkills), c(-1.5, 1.5)[ReadingSkills$dyslexia])
bt2 <- betatree(accuracy ~ iq | iq, ~ x1 + x2 + x3 + x4,
data = ReadingSkills, minsize = 10)
plot(bt2)
## inspect result
coef(bt2)
if(require("strucchange")) sctest(bt2)
## IGNORE_RDIFF_BEGIN
summary(bt2, node = 2)
summary(bt2, node = 3)
## IGNORE_RDIFF_END
# }
```

*Documentation reproduced from package betareg, version 3.1-3, License: GPL-2 | GPL-3*