I've started implementing CORRELATIONS, and it make sense to use src/math/covariance-matrix.c but I have a number of questions about it.
covariance_accumulate_listwise doesn't seem to be complete. Notably, val2 is used uninitialised. However, I don't really see a need for this function, since it's straightforward, to filter missing values on a listwise basis using a casefilter. struct covariance_matrix has a member called "ssize". I'm guessing that ssize is a matrix containing the number of non-missing cases used to calculate each element of cov. Such a matrix would be rather usefull to CORRELATIONS, but I don't see a method on the interface to access ssize. However, looking at the code, I see instances of expressions like "->ssize += 1.0" which worries me, because it doesn't seem to account for weighted cases. So: 1. Is covariance_accumulate_listwise actually used? If not, I think it's ok to delete it. 2. Can we have a way to access ssize? 3. Has covariance matrix been testing in the presence of non-unity caseweights? If not, then it ought to be. 4. A few extra comments in covariance-matrix.c wouldn't go amiss. J' -- PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://pgp.mit.edu or any PGP keyserver for public key.
signature.asc
Description: Digital signature
_______________________________________________ pspp-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/pspp-dev
