egame122: Strategic model with 2 players, 4 terminal nodes

View source: R/egame122.r

egame122R Documentation

Strategic model with 2 players, 4 terminal nodes

Description

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

Usage

egame122(
  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 six formulas, or a Formula object with six 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, u12, u13, u14, u22, and u24. 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 maxLik).

Details

The model corresponds to the following extensive-form game:

.        ___ 1 ___
.       /         \
.      /           \
.   2 /             \ 2
.    / \           / \
.   /   \         /   \
.  /     \       /     \
. u11    u12    u13    u14
. 0      u22    0      u24

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 six components (rather than four) in this case.

Ways to specify the dependent variable in egame122:

  • Numeric vector y, numbered 1 through 4, corresponding to the outcomes 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, where y1 indicates whether Player 1 moves left or right, and y2 indicates whether Player 2 moves left or right.

  • Indicator variables y1 + y2 + y3, where y1 indicates whether Player 1 moves left or right, y2 indicates Player 2's move in case Player 1 moved left, and y3 indicates Player 2's move in case Player 1 moved right. Non-observed values of y2 and y3 should be set to 0, not NA, to ensure that observations are not dropped when na.action = na.omit.

Value

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

Author(s)

Brenton Kenkel (brenton.kenkel@gmail.com) and Curtis S. Signorino

Examples

data("data_122")

## Model formula:
fr1 <- y ~ x1 + x2 | x3 + f1 | 0 | x4 + x5 | z1 + z2 | z3 + f2
##     ^   ^^^^^^^   ^^^^^^^   ^   ^^^^^^^   ^^^^^^^   ^^^^^^^
##     y     u11       u12    u13    u14       u22       u24

m1 <- egame122(fr1, data = data_122)
summary(m1)

## Dummy specification of the dependent variable
fr2 <- update(Formula(fr1), a1 + a2 ~ .)
m2 <- egame122(fr2, data = data_122)
summary(m2)

ccrismancox/games2 documentation built on April 17, 2025, 3:21 a.m.