
A3.5 An example 97
}
else if (sDialog == "OP_TEST_FORECAST")
{
return
{ { "Predictions" },
{ "Print predicted outcomes", CTL_CHECK, 0, "pred" }
};
}
else if (sDialog == "Outliers")
{
return
{ { "Outliers" },
{ "Print observations with P(observed state) < ",
CTL_DOUBLE, 0.05, "prob" }
};
}
else if (sDialog == "Further Output")
{
return
{ { "Further Output" },
{ "Summary statistics for explanatory variables",
CTL_CHECK, 0, "summary" },
{ "Table of actual and predicted", CTL_CHECK,
m_iModelClass == MC_COUNT ? -1 : 0, "actpred" },
{ "Derivatives of probabilities at regressor means",
CTL_CHECK, m_iModelClass == MC_COUNT ? -1 : 0,
"derivatives" },
{ "Derivatives of probabilities at sample frequencies",
CTL_CHECK, m_iModelClass == MC_COUNT ? -1 : 0,
"derivprob" }
};
}
// allow base class to process unhandled cases
return Modelbase::SendDialog(sDialog);
}
BprobitEx::ReceiveDialog(const sDialog, const asOptions, const aValues)
{
if (sDialog == "OP_OPTIONS")
{
// process user actions for options dialog
Modelbase::ReceiveDialog(sDialog, asOptions, aValues);
m_fCovarUnweighted = aValues[strfind(asOptions, "covunw")];
}
else if (sDialog == "OP_SETTINGS")
{
// process user actions for settings dialog
if (m_iModelClass == MC_BINARY)
m_iMethod = aValues[0] == 1 ? M_PROBIT : M_LOGIT;
else if (m_iModelClass == MC_COUNT)
m_iMethod = aValues[0] == 1 ? M_NEGBIN : M_POISSON;
return 1;
}
Commentaires sur ces manuels