- if (W >= 3.0 && d[frq_variance] > 0)
- {
- double S = d[frq_stddev];
- d[frq_skew] = (W * M3 / ((W - 1.0) * (W - 2.0) * S * S * S));
- d[frq_seskew] = sqrt (6.0 * W * (W - 1.0)
- / ((W - 2.0) * (W + 1.0) * (W + 3.0)));
- }
- else
- {
- d[frq_skew] = d[frq_seskew] = SYSMIS;
- }
- if (W >= 4.0 && d[frq_variance] > 0)
- {
- double S2 = d[frq_variance];
- double SE_g1 = d[frq_seskew];
-
- d[frq_kurt] = ((W * (W + 1.0) * M4 - 3.0 * M2 * M2 * (W - 1.0))
- / ((W - 1.0) * (W - 2.0) * (W - 3.0) * S2 * S2));
- d[frq_sekurt] = sqrt ((4.0 * (W * W - 1.0) * SE_g1 * SE_g1)
- / ((W - 3.0) * (W + 5.0)));
- }
- else
- {
- d[frq_kurt] = d[frq_sekurt] = SYSMIS;
- }