Learn R Programming

games (version 1.1.2)

egame123: Strategic model with 3 players, 4 terminal nodes

Description

Fits a strategic model with three players and four terminal nodes, as in the game illustrated below in "Details".

Usage

egame123(formulas, data, subset, na.action, link = c("probit", "logit"), type = c("agent", "private"), startvals = c("sbi", "unif", "zero"), fixedUtils = NULL, sdformula = NULL, sdByPlayer = FALSE, boot = 0, bootreport = TRUE, profile, method = "BFGS", ...)

Arguments

formulas
a list of eight formulas, or a Formula object with eight right-hand sides. See "Details" and "Examples".
data
a data frame.
subset
an optional logical vector specifying which observations from data to use in fitting.
na.action
how to deal with NAs in data. Defaults to the na.action setting of options. See na.omit
link
whether to use a probit (default) or logit link structure,
type
whether to use an agent-error ("agent", default) or private-information ("private") stochastic structure.
startvals
whether to calculate starting values for the optimization from statistical backwards induction ("sbi", default), draw them from a uniform distribution ("unif"), or to set them all to 0 ("zero")
fixedUtils
numeric vector of values to fix for u11, u13, u15, u16, u23, u25, u26, and u36. NULL (the default) indicates that these should be estimated with regressors, not fixed.
sdformula
an optional list of formulas or a Formula containing a regression equation for the scale parameter. See egame12 for details.
sdByPlayer
logical: if scale parameters are being estimated (i.e., sdformula or fixedUtils is non-NULL), should a separate one be estimated for each player? This option is ignored unless fixedUtils or sdformula is specified.
boot
integer: number of bootstrap iterations to perform (if any).
bootreport
logical: whether to print status bar during bootstrapping.
profile
output from running profile.game on a previous fit of the model, used to generate starting values for refitting when an earlier fit converged to a non-global maximum.
method
character string specifying which optimization routine to use (see maxLik)
...
other arguments to pass to the fitting function (see odemaxLik).

Value

An object of class c("game", "egame123"). See egame12 for a description of the game class.

Details

The model corresponds to the following extensive-form game:
.     1
.     /\
.    /  \
.   /    \ 2
.  u11   /\
.       /  \
.      /    \
.    u13     \ 3
.    u23     /\
.           /  \
.          /    \
.         u15   u16
.         u25   u26
.         0     u36

For additional details on any of the function arguments or options, see egame12. The only difference is that the right-hand side of formulas must have eight components (rather than four) in this case.

Ways to specify the dependent variable in egame123:

  • Numeric vector y containing 4 unique values, corresponding to the outcomes (in order from left to right) as labeled in the game tree above.
  • Factor y, where y has four levels, corresponding in order to the outcomes as labeled above.
  • Indicator variables y1 + y2 + y3, where y1 indicates whether Player 1 moves left or right, y2 indicates Player 2's move, and y3 indicates Player 3's move. Non-observed values of y2 and y3 (where the game ended before the move could be made) should be set to 0, not NA, to ensure that observations are not dropped when na.action = na.omit.

Examples

Run this code
data("data_123")

## Model formula:
f1 <- y ~ x1 + x2 | 0 | x3 | x4 + x5 | 0 | x6 | x7 | x8
##    ^   ^^^^^^^   ^   ^^   ^^^^^^^   ^   ^^   ^^   ^^
##    y     u11    u13  u15    u16    u23  u25  u26  u36

m1 <- egame123(f1, data = data_123, link = "probit", type = "private")
summary(m1)

## Dummy specification of the dependent variable
f2 <- update(Formula(f1), a1 + a2 + a3 ~ .)
m2 <- egame123(f2, data = data_123, link = "probit", type = "private")
summary(m2)

Run the code above in your browser using DataLab