setx                  package:Zelig                  R Documentation

_S_e_t_t_i_n_g _E_x_p_l_a_n_a_t_o_r_y _V_a_r_i_a_b_l_e _V_a_l_u_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     The 'setx' command uses the variables identified in the 'formula'
     generated by 'zelig' and sets the values of the explanatory
     variables to the selected values.  Use 'setx' after 'zelig' and
     before 'sim' to simulate quantities of interest.

_U_s_a_g_e:

     x.out <- setx(object, fn = list(numeric = mean, ordered = median, 
                                     others = mode), 
                   data = NULL, cond = FALSE, ...)

_A_r_g_u_m_e_n_t_s:

  object: the saved output from 'zelig'. 

      fn: a list of functions to apply to three types of variables:

        _n_u_m_e_r_i_c 'numeric' variables are set to their mean by default,
             but you may select any mathematical function to apply to
             numeric variables.

        _o_r_d_e_r_e_d 'ordered' factors are set to their meidan by default,
             and most mathematical operations will work on them.  If
             you select 'ordered = mean', however, 'setx' will default
             to median with a warning.

        _o_t_h_e_r variables may consist of unordered factors, character
             strings, or logical variables.  The 'other' variables may
             only be set to their mode.  If you wish to set one of the
             other variables to a specific value, you may do so using
             '...' below. 

          In the special case 'fn = NULL', 'setx' will return all of
          the observations without applying any function to the data.  

    data: a new data frame used to set the values of explanatory
          variables. If 'data = NULL' (the default), the data frame
          called in 'zelig' is used. 

    cond: a logical value indicating whether unconditional (default) or
          conditional (choose 'cond = TRUE') prediction should be
          performed.  If you choose 'cond = TRUE', 'setx' will coerce
          'fn = NULL' and ignore the additional arguments in  '...'. 
          If 'cond = TRUE' and 'data = NULL', 'setx' will prompt you
          for a data frame.  

     ...: user-defined values of specific variables overwriting the
          default values set by the function 'fn'.  For example, adding
          'var1 = mean(data\$var1)' or 'x1 = 12' explicitly sets the
          value of 'x1' to 12.  In addition, you may specify one
          explanatory variable as a range of values, creating one
          observation for every unique value in the range of values. 

_V_a_l_u_e:

     For unconditional prediction, 'x.out' is a model matrix based on
     the specified values for the explanatory variables.  For multiple
     analyses (i.e., when choosing the 'by' option in 'zelig', 'setx'
     returns the selected values calculated over the entire data frame.
      If you wish to calculate values over just one subset of the data
     frame, the 5th subset for example, you may use:   'x.out <-
     setx(z.out[[5]])'

     For conditional prediction, 'x.out' includes the model matrix and
     the dependent variables.  For multiple analyses (when choosing the
     'by' option in 'zelig'), 'setx' returns the observed explanatory
     variables in each subset.

_A_u_t_h_o_r(_s):

     Kosuke Imai <kimai@princeton.edu>; Gary King <king@harvard.edu>;
     Olivia Lau <olau@fas.harvard.edu>

_S_e_e _A_l_s_o:

     The full Zelig manual may be accessed online at <URL:
     http://gking.harvard.edu/zelig>.

_E_x_a_m_p_l_e_s:

     # Unconditional prediction:
     data(turnout)
     z.out <- zelig(vote ~ race + educate, model = "logit", data = turnout)
     x.out <- setx(z.out)
     s.out <- sim(z.out, x = x.out)

     # Unconditional prediction with all observations:
     x.out <- setx(z.out, fn = NULL)
     s.out <- sim(z.out, x = x.out)

     # Unconditional prediction with out of sample data:
     z.out <- zelig(vote ~ race + educate, model = "logit",
                    data = turnout[1:1000,])
     x.out <- setx(z.out, data = turnout[1001:2000,])
     s.out <- sim(z.out, x = x.out)

     # Using a user-defined function in fn:
     ## Not run: 
     quants <- function(x)
       quantile(x, 0.25)
     x.out <- setx(z.out, fn = list(numeric = quants))
     ## End(Not run)

     # Conditional prediction:  
     ## Not run: 
     library(MatchIt)
     data(lalonde)
     match.out <- matchit(treat ~ age + educ + black + hispan + married + 
                          nodegree + re74 + re75, data = lalonde)
     z.out <- zelig(re78 ~ distance, data = match.data(match.out, "control"), 
                    model = "ls")
     x.out <- setx(z.out, fn = NULL, data = match.data(match.out, "treat"),
                   cond = TRUE)
     s.out <- sim(z.out, x = x.out)
     ## End(Not run)

