struct coeff_node
{
- struct ll ll;
- double coeff;
+ struct ll ll;
+ double coeff;
};
struct contrasts_node
{
- struct ll ll;
+ struct ll ll;
struct ll_list coefficient_list;
};
double n_j, var_j;
double nom,denom;
- moments1_calculate (mom_i, &n_i, NULL, &var_i, 0, 0);
+ moments1_calculate (mom_i, &n_i, NULL, &var_i, 0, 0);
moments1_calculate (mom_j, &n_j, NULL, &var_j, 0, 0);
-
+
if ( n_i <= 1.0 || n_j <= 1.0)
return SYSMIS;
double n_j, mean_j, var_j;
double m;
- moments1_calculate (mom_i, &n_i, &mean_i, &var_i, 0, 0);
+ moments1_calculate (mom_i, &n_i, &mean_i, &var_i, 0, 0);
moments1_calculate (mom_j, &n_j, &mean_j, &var_j, 0, 0);
m = sqrt ((var_i/n_i + var_j/n_j) / 2.0);
}
-static double
+static double
multiple_comparison_sig (double std_err,
const struct per_var_ws *pvw,
const struct descriptive_data *dd_i, const struct descriptive_data *dd_j,
return ph->p1f (ts, k - 1, df);
}
-static double
+static double
mc_half_range (const struct oneway_spec *cmd, const struct per_var_ws *pvw, double std_err, const struct descriptive_data *dd_i, const struct descriptive_data *dd_j, const struct posthoc *ph)
{
int k = pvw->n_groups;
double n_i, mean_i, var_i;
double n_j, mean_j, var_j;
- moments1_calculate (mom_i, &n_i, &mean_i, &var_i, 0, 0);
+ moments1_calculate (mom_i, &n_i, &mean_i, &var_i, 0, 0);
moments1_calculate (mom_j, &n_j, &mean_j, &var_j, 0, 0);
ts = (mean_i - mean_j) / std_err;
double n_i, mean_i, var_i;
double n_j, mean_j, var_j;
- moments1_calculate (mom_i, &n_i, &mean_i, &var_i, 0, 0);
+ moments1_calculate (mom_i, &n_i, &mean_i, &var_i, 0, 0);
moments1_calculate (mom_j, &n_j, &mean_j, &var_j, 0, 0);
return (mean_i - mean_j) / std_err;
double n_i, mean_i, var_i;
double n_j, mean_j, var_j;
- moments1_calculate (mom_i, &n_i, &mean_i, &var_i, 0, 0);
+ moments1_calculate (mom_i, &n_i, &mean_i, &var_i, 0, 0);
moments1_calculate (mom_j, &n_j, &mean_j, &var_j, 0, 0);
t = (mean_i - mean_j) / std_err;
double n_i, mean_i, var_i;
double n_j, mean_j, var_j;
- moments1_calculate (mom_i, &n_i, &mean_i, &var_i, 0, 0);
+ moments1_calculate (mom_i, &n_i, &mean_i, &var_i, 0, 0);
moments1_calculate (mom_j, &n_j, &mean_j, &var_j, 0, 0);
thing = var_i / n_i + var_j / n_j;
-static const struct posthoc ph_tests [] =
+static const struct posthoc ph_tests [] =
{
{ "LSD", N_("LSD"), df_common, lsd_test_stat, lsd_1tailsig, lsd_pinv},
{ "TUKEY", N_("Tukey HSD"), df_common, tukey_test_stat, tukey_1tailsig, tukey_pinv},
struct coeff_node *cn = NULL;
struct coeff_node *cnx = NULL;
struct ll_list *cl = &coeff_list->coefficient_list;
-
+
ll_for_each_safe (cn, cnx, struct coeff_node, ll, cl)
{
free (cn);
}
-
+
free (coeff_list);
}
int
cmd_oneway (struct lexer *lexer, struct dataset *ds)
{
- const struct dictionary *dict = dataset_dict (ds);
+ const struct dictionary *dict = dataset_dict (ds);
struct oneway_spec oneway ;
oneway.n_vars = 0;
oneway.vars = NULL;
ll_init (&oneway.contrast_list);
-
+
if ( lex_match (lexer, T_SLASH))
{
if (!lex_force_match_id (lexer, "VARIABLES"))
PV_NO_DUPLICATE | PV_NUMERIC))
goto error;
- lex_force_match (lexer, T_BY);
+ if (!lex_force_match (lexer, T_BY))
+ goto error;
oneway.indep_var = parse_variable_const (lexer, dict);
if (oneway.indep_var == NULL)
{
if ( !lex_force_match (lexer, T_LPAREN))
goto error;
- lex_force_num (lexer);
+ if (! lex_force_num (lexer))
+ goto error;
oneway.alpha = lex_number (lexer);
lex_get (lexer);
if ( !lex_force_match (lexer, T_RPAREN))
goto error;
}
}
-
+
if ( ll_count (coefficient_list) <= 0)
goto error;
return dd;
}
-static void
+static void
killit (const void *aux1 UNUSED, void *aux2 UNUSED, void *user_data)
{
struct descriptive_data *dd = user_data;
}
-static void
+static void
updateit (const void *aux1, void *aux2, void *user_data,
const struct ccase *c, double weight)
{
ws.vws[v].cat = categoricals_create (&ws.vws[v].iact, 1, cmd->wv,
cmd->exclude, cmd->exclude);
- categoricals_set_payload (ws.vws[v].cat, &payload,
+ categoricals_set_payload (ws.vws[v].cat, &payload,
CONST_CAST (struct variable *, cmd->vars[v]),
ws.dd_total[v]);
ws.vws[v].cov = covariance_2pass_create (1, &cmd->vars[v],
- ws.vws[v].cat,
- cmd->wv, cmd->exclude);
+ ws.vws[v].cat,
+ cmd->wv, cmd->exclude, true);
ws.vws[v].nl = levene_create (var_get_width (cmd->indep_var), NULL);
}
if ( ! ok)
{
- msg (MW,
+ msg (MW,
_("Dependent variable %s has no non-missing values. No analysis for this variable will be done."),
var_get_name (cmd->vars[v]));
continue;
/* Degrees of freedom */
tab_double (t, 3, i * 3 + 1, 0, df1, NULL, RC_INTEGER);
- tab_double (t, 3, i * 3 + 2, 0, df2, NULL, RC_INTEGER);
- tab_double (t, 3, i * 3 + 3, 0, n - 1, NULL, RC_INTEGER);
+ tab_double (t, 3, i * 3 + 2, 0, df2, NULL, RC_INTEGER);
+ tab_double (t, 3, i * 3 + 3, 0, n - 1, NULL, RC_INTEGER);
/* Mean Squares */
tab_double (t, 4, i * 3 + 1, TAB_RIGHT, msa, NULL, RC_OTHER);
double n, mean, variance;
const struct descriptive_data *dd = categoricals_get_user_data_by_category (cats, ci);
struct coeff_node *cn = ll_data (coeffi, struct coeff_node, ll);
- const double coef = cn->coeff;
+ const double coef = cn->coeff;
double winv ;
moments1_calculate (dd->mom, &n, &mean, &variance, NULL, NULL);
int j;
struct descriptive_data *dd_i = categoricals_get_user_data_by_category (cat, i);
const struct ccase *gcc = categoricals_get_case_by_category (cat, i);
-
+
ds_init_empty (&vstr);
var_append_value_name (cmd->indep_var, case_data (gcc, cmd->indep_var), &vstr);
std_err = sqrt (std_err);
tab_double (t, 4, r + rx, 0, std_err, NULL, RC_OTHER);
-
+
tab_double (t, 5, r + rx, 0, 2 * multiple_comparison_sig (std_err, pvw, dd_i, dd_j, ph), NULL, RC_PVALUE);
half_range = mc_half_range (cmd, pvw, std_err, dd_i, dd_j, ph);