I haven't tested it yet, but it looks like the computation of the dimension might be wrong when categorical variables are involved. If a categorical variable has k categories, its contribution to the dimension should be k-1. But this line in covariance.c:
cov->dim = cov->n_vars + categoricals_total (cov->categoricals); ...suggests the contribution to the dimension would be k. The contribution to the dimension is k-1 because the range of possible values of k categories is spanned by k-1 basis vectors. The kth vector is the origin, which corresponds to exactly one of the categories. Which is chosen as the origin is arbitrary (some software chooses the first category seen, some the last). > So what procedures would be best ? ANOVA, MANOVA, UNIANOVA or a subset > of GLM? And are there any good texts on how to perform anova from a covariance > matrix? Most seem to assume that the sums of squares have been seperately > calculated. glm.q now uses the new routines, so that might be a good place to start. There are plenty of pertinent texts that cover computation of least squares estimates from a covariance matrix, but the ones I have seen are aimed at interpreting results and establishing theory rather than computations. I'll look up a few and send them along. Golub and Van Loan has all of the necessary computations, but doesn't mention "covariance matrices" by name. They just mention least squares. _______________________________________________ pspp-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/pspp-dev
