Re: zero times sysmis equals 0. why?
Posted by
Art Kendall on
Mar 19, 2011; 1:34pm
URL: http://spssx-discussion.165.s1.nabble.com/zero-times-sysmis-equals-0-why-tp3783714p4067673.html
If one has a situation where one wants results that
differ from the conventional results,� (e.g., 0 * sysmis = 0) more
elaborate syntax can usually be written.
I would argue that to be consistent with
conventional mathematics and classical metaphysics.
anything * 0 should be zero.�
anything times nothing should be zero.
How large is no sets of anything? zero.
How much milk is there in no bottles with whatever contents? none.
0 * anything should be zero.
nothing times anything should be zero.
How large is any number of nothings? zero.
How much milk is there in any number of empty bottles? none.
0 * 0 should be zero.
How large is no sets of nothing? zero.
How much milk is there is no bottles that if there were any would
be� empty?
I believe that the distinction between user missing (missing for a
reason known to the user) and system missing (missing because the
software cannot follow instructions in accordance with
conventional math or logic i.e., there is no conventional result
to the operation asked for) is one of the strengths of SPSS.
When results are sysmis that is a clue that there is something
suspicious about the instructions or the data the instructions are
to act upon.
A rule of thumb in analysis� that is important is "syntax (or code
in other languages) should be redrafted so that it does not
produce any suspicious/weird/screwy results".
If an operation produces results with zero values that are
legitimately in the domain of the construct, then that is not a
problem.� One it is detected why some results are sysmis, then the
syntax can be updated to provide a different value that is outside
the domain of legitimate values and set as user missing.
compute result_var = numer_var/denom_var.
if denom_var eq 0 result_var = -99999.
missing values result_var (-99999).
If an operation can result in zeros with different
meanings (aka dirty zeros), it is useful to improve the syntax to
assign different values to result.
e.g.,
do if denom_var eq 0
compute result_var = -99999.
else if numer_var eq 0.
compute result_var = -99998.
else if numer_var eq 0 and denom_var eq 0.
compute result_var eq -99997.
else.
compute result_var = numer_var/denom_var.
end if.
Value labels result_var
� -99999 'zero denominator'
� -99998 'zero numerator'
� -99997 'both zero'.
missing values result_var (lo thru -99990).
I try to use the distinction between system
missing and user missing to aid quality assurance.
In my view sysmis means there is something
suspicious/weird/screwy about the value of the variable because an
operation could not produce results in a conventional manner.
User missing means that the value of the variables is outside the
legitimate range of the construct for a known reason.
Art Kendall
Social Research Consultants
On 3/16/2011 11:11 AM, Jon K Peck wrote:
It has been like that
forever. � You
can find a table of these results in the CSR.
Whether this is appropriate
depends
on how you view SYSMIS. � Since x/0 is SYSMIS, you could argue
that
0*SYSMIS should be SYSMIS, but if SYSMIS results from something
finite,
then 0*SYSMIS should be zero.
Regards,
Jon Peck
Senior Software Engineer, IBM
[hidden email]
312-651-3435
From: � � �
� Martin Sherman
[hidden email]
To: � � �
� [hidden email]
Date: � � �
� 03/16/2011 08:51 AM
Subject: � �
� � [SPSSX-L] zero
times sysmis equals 0. why?
Sent by: � �
� � "SPSSX(r)
Discussion" [hidden email]
Dear list: I just multiplied zero
times
sysmis and the result was a zero. � I wasn’t expecting that. � Is
that something new to IBM SPSS 19.0?
�
Martin F.
Sherman,
Ph.D.
Professor of
Psychology
Director of
� Masters
Education in Psychology: Thesis Track
�
Loyola
University
Maryland
Department
of Psychology
222 B Beatty
Hall
4501 North
Charles
Street
Baltimore,
MD 21210
�
410-617-2417
[hidden email]
�
=====================
To manage your subscription to SPSSX-L, send a message to
[hidden email] (not to SPSSX-L), with no body text except the
command. To leave the list, send the command
SIGNOFF SPSSX-L
For a list of commands to manage subscriptions, send the command
INFO REFCARD
Art Kendall
Social Research Consultants