Factor Analysis - Error - Pl. Help Me

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Factor Analysis - Error - Pl. Help Me

miryalaramesh
While working with SPSS 17.0 on the data collected and tabulated by myself, it is throwing an error as follows
"There are fewer than two cases, at least one of the variables has zero variance, there is only one variable in the analysis, or correlation coefficients could not be computed for all pairs of variables. No further statistics will be computed.".

Basically the collected data is about Doctors job satisfaction on about 34 aspects considering the scale 1 = extremely satisfied to 7= extremely dissatisfied and 4= neutral response. The data has been collected from 200 Doctors.

pl help me how i can overcome the error specified above.

Dr Ramesh Kumar Miryala
Reply | Threaded
Open this post in threaded view
|

Re: Factor Analysis - Error - Pl. Help Me

John F Hall
What do your data look like?  Do you have 200 cases in the file?  How many
variables do you have?
Are you using syntax or the drop-down menus?

What checks have you made on your data?

For instance, try making a new syntax file with:

File > new > syntax

. . and then write:

display labels .
list <your varlist> /cases 10 .
freq <your varlist> .

Where <your varlist> is a list of the variable names for your 34 items, say
v1 to v34, so

display labels .
list v1 to v34 /cases 10 .
freq v1 to v34 .

. . then press Run > all

What do the results look like?


John F Hall

[hidden email]
www.surveyresearch.weebly.com





-----Original Message-----
From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of
miryalaramesh
Sent: 03 July 2011 07:41
To: [hidden email]
Subject: Factor Analysis - Error - Pl. Help Me

While working with SPSS 17.0 on the data collected and tabulated by myself,
it is throwing an error as follows
"*There are fewer than two cases, at least one of the variables has zero
variance, there is only one variable in the analysis, or correlation
coefficients could not be computed for all pairs of variables. No further
statistics will be computed.*".

Basically the collected data is about Doctors job satisfaction on about 34
aspects considering the scale 1 = extremely satisfied to 7= extremely
dissatisfied and 4= neutral response. The data has been collected from 200
Doctors.

pl help me how i can overcome the error specified above.

Dr Ramesh Kumar Miryala

--
View this message in context:
http://spssx-discussion.1045642.n5.nabble.com/Factor-Analysis-Error-Pl-Help-
Me-tp4546546p4546546.html
Sent from the SPSSX Discussion mailing list archive at Nabble.com.

=====================
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

=====================
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
Reply | Threaded
Open this post in threaded view
|

Re: Factor Analysis - Error - Pl. Help Me

Mike
In reply to this post by miryalaramesh
Run descriptives for the 34 variables and

(1)  See if any of the variables has only one or no valid
response.

(2)  See if any of the variables have zero standard
deviation (i.e., all respondent chose the same rating
scale value).

(3)  Examine the remaining variables to see if the
Reponses use only part of rating scale values (e.g.,
values 1-3 or 2-4 or  4-7).  Variables with such limited
ranges of response can affect correlation (i.e.,
reduce the Pearson r).

Eliminate the variables that meet condition (1) or (2).
Re-run the factor analysis.

Before doing a factor analysis it is a good idea to look
at the distribution of values for each variable -- one
can do this through frequencies and request "/histogram"
as well as examining the frequency tables (one could also
look at the boxplots for the items in the examine procedure).
One would be able to identify "pathological variables" and
exclude them from the factor analysis.  However, if there
are many pathological variables, one should be concerned
with the "quality" of the scale -- running the reliability
procedure would provide more information especially
about the relationship among the variables.  If the responses
are badly distributed, there would be no point in doing
a factor analysis.

-Mike Palij
New York University
[hidden email]


----- Original Message -----
From: "miryalaramesh" <[hidden email]>
To: <[hidden email]>
Sent: Sunday, July 03, 2011 1:41 AM
Subject: Factor Analysis - Error - Pl. Help Me


> While working with SPSS 17.0 on the data collected and tabulated by myself,
> it is throwing an error as follows
> "*There are fewer than two cases, at least one of the variables has zero
> variance, there is only one variable in the analysis, or correlation
> coefficients could not be computed for all pairs of variables. No further
> statistics will be computed.*".
>
> Basically the collected data is about Doctors job satisfaction on about 34
> aspects considering the scale 1 = extremely satisfied to 7= extremely
> dissatisfied and 4= neutral response. The data has been collected from 200
> Doctors.
>
> pl help me how i can overcome the error specified above.
>
> Dr Ramesh Kumar Miryala
>
> --
> View this message in context: http://spssx-discussion.1045642.n5.nabble.com/Factor-Analysis-Error-Pl-Help-Me-tp4546546p4546546.html
> Sent from the SPSSX Discussion mailing list archive at Nabble.com.
>
> =====================
> 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

=====================
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
Reply | Threaded
Open this post in threaded view
|

'punching' value if only one value set

Mike Pritchard
I'm pretty sure this is simpler than the way I'm trying to do it, but I
can't even get the more complicated way to work.

One set of variables (Q10_1 to Q10_10, plus Q10_98) is multiple response
with numeric values corresponding to the variable.  Thus Q10_5 is either
$SYSMIS or 5. Q11 was set by a respondent if more than one of the Q10
variables was set.  (This is all options checkbox, followed by most often
radio button in an online survey).

Q11 wasn't set up to use the single value of the Q10 variable if only one
was set, so now I have to fix it with SPSS.

COUNT Q10_SYSMIS =  Q10_1 TO Q10_98 (SYSMIS).
EXECUTE .

works to find which responses need to be fixed, but I can't get the code
right for setting the right value.  This is my latest attempt:
DO IF (Q10_SYSMIS=10).
  IF (Q10_1~=$SYSMIS)  Q11=1.
  IF (Q10_2~=$SYSMIS)  Q11=2.
  IF (Q10_3~=$SYSMIS)  Q11=3.
  IF (Q10_4~=$SYSMIS)  Q11=4.
  IF (Q10_5~=$SYSMIS)  Q11=5.
  IF (Q10_6~=$SYSMIS)  Q11=6.
  IF (Q10_7~=$SYSMIS)  Q11=7.
  IF (Q10_8~=$SYSMIS)  Q11=8.
  IF (Q10_9~=$SYSMIS)  Q11=9.
  IF (Q10_10~=$SYSMIS)  Q11=10.
  IF (Q10_98~=$SYSMIS)  Q11=98.
END IF.

This doesn't generate errors, but doesn't do anything.

Any suggestions?

Thanks
Mike

=====================
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
Reply | Threaded
Open this post in threaded view
|

Re: 'punching' value if only one value set

John F Hall
Try something like (untested):

do repeat
 X= Q10_1 to Q10_10, Q10_98
 /y = 1 to 10, 98.
if (x = sysmis) q11 = y.
end repeat .


John F Hall

[hidden email]
www.surveyresearch.weebly.com






-----Original Message-----
From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of
Mike Pritchard
Sent: 03 July 2011 22:43
To: [hidden email]
Subject: 'punching' value if only one value set

I'm pretty sure this is simpler than the way I'm trying to do it, but I
can't even get the more complicated way to work.

One set of variables (Q10_1 to Q10_10, plus Q10_98) is multiple response
with numeric values corresponding to the variable.  Thus Q10_5 is either
$SYSMIS or 5. Q11 was set by a respondent if more than one of the Q10
variables was set.  (This is all options checkbox, followed by most often
radio button in an online survey).

Q11 wasn't set up to use the single value of the Q10 variable if only one
was set, so now I have to fix it with SPSS.

COUNT Q10_SYSMIS =  Q10_1 TO Q10_98 (SYSMIS).
EXECUTE .

works to find which responses need to be fixed, but I can't get the code
right for setting the right value.  This is my latest attempt:
DO IF (Q10_SYSMIS=10).
  IF (Q10_1~=$SYSMIS)  Q11=1.
  IF (Q10_2~=$SYSMIS)  Q11=2.
  IF (Q10_3~=$SYSMIS)  Q11=3.
  IF (Q10_4~=$SYSMIS)  Q11=4.
  IF (Q10_5~=$SYSMIS)  Q11=5.
  IF (Q10_6~=$SYSMIS)  Q11=6.
  IF (Q10_7~=$SYSMIS)  Q11=7.
  IF (Q10_8~=$SYSMIS)  Q11=8.
  IF (Q10_9~=$SYSMIS)  Q11=9.
  IF (Q10_10~=$SYSMIS)  Q11=10.
  IF (Q10_98~=$SYSMIS)  Q11=98.
END IF.

This doesn't generate errors, but doesn't do anything.

Any suggestions?

Thanks
Mike

=====================
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

=====================
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
Reply | Threaded
Open this post in threaded view
|

Re: 'punching' value if only one value set

Robert Walker
In reply to this post by Mike Pritchard
Mike,

Try adding an EXECUTE statement after END IF to cause the data to be read, and populate your new variables.

Regards,

Bob Walker
Surveys & Forecasts, LLC


-----Original Message-----
From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of Mike Pritchard
Sent: Sunday, July 03, 2011 4:43 PM
To: [hidden email]
Subject: 'punching' value if only one value set

I'm pretty sure this is simpler than the way I'm trying to do it, but I
can't even get the more complicated way to work.

One set of variables (Q10_1 to Q10_10, plus Q10_98) is multiple response
with numeric values corresponding to the variable.  Thus Q10_5 is either
$SYSMIS or 5. Q11 was set by a respondent if more than one of the Q10
variables was set.  (This is all options checkbox, followed by most often
radio button in an online survey).

Q11 wasn't set up to use the single value of the Q10 variable if only one
was set, so now I have to fix it with SPSS.

COUNT Q10_SYSMIS =  Q10_1 TO Q10_98 (SYSMIS).
EXECUTE .

works to find which responses need to be fixed, but I can't get the code
right for setting the right value.  This is my latest attempt:
DO IF (Q10_SYSMIS=10).
  IF (Q10_1~=$SYSMIS)  Q11=1.
  IF (Q10_2~=$SYSMIS)  Q11=2.
  IF (Q10_3~=$SYSMIS)  Q11=3.
  IF (Q10_4~=$SYSMIS)  Q11=4.
  IF (Q10_5~=$SYSMIS)  Q11=5.
  IF (Q10_6~=$SYSMIS)  Q11=6.
  IF (Q10_7~=$SYSMIS)  Q11=7.
  IF (Q10_8~=$SYSMIS)  Q11=8.
  IF (Q10_9~=$SYSMIS)  Q11=9.
  IF (Q10_10~=$SYSMIS)  Q11=10.
  IF (Q10_98~=$SYSMIS)  Q11=98.
END IF.

This doesn't generate errors, but doesn't do anything.

Any suggestions?

Thanks
Mike

=====================
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

=====================
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
Reply | Threaded
Open this post in threaded view
|

Re: 'punching' value if only one value set

Mike Pritchard
In reply to this post by John F Hall
Thanks for the code John.
I changed it to pass syntax and also to not overwrite the original Q11.

do repeat
 X= Q10_1 to Q10_10, Q10_98
 /y = 1 to 10, 98.
if (x = $SYSMIS) q11_new = y.
end repeat .

It now runs without error, but there isn't anything in Q11_new.

If I'm understanding the code, this isn't quite what I need for two reasons.

1) - I only need to set Q11 when it is empty - which corresponds to
Q10_SYSMIS=0.
2) - It seems like it is trying to set Q11 with a value when the
corresponding Q10 is $SYSMIS.  I want to set Q11 with the only value of
Q10_1 etc, when there is only one set.

It's got me thinking and reading the syntax guide more.

Mike

-----Original Message-----
From: John F Hall [mailto:[hidden email]]
Sent: Sunday, July 03, 2011 2:23 PM
To: 'Mike Pritchard'; [hidden email]
Subject: RE: 'punching' value if only one value set

Try something like (untested):

do repeat
 X= Q10_1 to Q10_10, Q10_98
 /y = 1 to 10, 98.
if (x = sysmis) q11 = y.
end repeat .


John F Hall

[hidden email]
www.surveyresearch.weebly.com






-----Original Message-----
From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of
Mike Pritchard
Sent: 03 July 2011 22:43
To: [hidden email]
Subject: 'punching' value if only one value set

I'm pretty sure this is simpler than the way I'm trying to do it, but I
can't even get the more complicated way to work.

One set of variables (Q10_1 to Q10_10, plus Q10_98) is multiple response
with numeric values corresponding to the variable.  Thus Q10_5 is either
$SYSMIS or 5. Q11 was set by a respondent if more than one of the Q10
variables was set.  (This is all options checkbox, followed by most often
radio button in an online survey).

Q11 wasn't set up to use the single value of the Q10 variable if only one
was set, so now I have to fix it with SPSS.

COUNT Q10_SYSMIS =  Q10_1 TO Q10_98 (SYSMIS).
EXECUTE .

works to find which responses need to be fixed, but I can't get the code
right for setting the right value.  This is my latest attempt:
DO IF (Q10_SYSMIS=10).
  IF (Q10_1~=$SYSMIS)  Q11=1.
  IF (Q10_2~=$SYSMIS)  Q11=2.
  IF (Q10_3~=$SYSMIS)  Q11=3.
  IF (Q10_4~=$SYSMIS)  Q11=4.
  IF (Q10_5~=$SYSMIS)  Q11=5.
  IF (Q10_6~=$SYSMIS)  Q11=6.
  IF (Q10_7~=$SYSMIS)  Q11=7.
  IF (Q10_8~=$SYSMIS)  Q11=8.
  IF (Q10_9~=$SYSMIS)  Q11=9.
  IF (Q10_10~=$SYSMIS)  Q11=10.
  IF (Q10_98~=$SYSMIS)  Q11=98.
END IF.

This doesn't generate errors, but doesn't do anything.

Any suggestions?

Thanks
Mike

=====================
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

=====================
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
Reply | Threaded
Open this post in threaded view
|

Re: 'punching' value if only one value set

Mike Pritchard
In reply to this post by John F Hall
Thanks Bogdan, John, Bob.

I haven't got the more elegant version working, but this does the job.  (I
mess up with SYSMIS too often)

DO IF (Q10_SYSMIS=10).
  IF (NOT SYSMIS(Q10_1))  Q11=1.
  IF (NOT SYSMIS(Q10_2))  Q11=2.
  IF (NOT SYSMIS(Q10_3))  Q11=3.
  IF (NOT SYSMIS(Q10_4))  Q11=4.
  IF (NOT SYSMIS(Q10_5))  Q11=5.
  IF (NOT SYSMIS(Q10_6))  Q11=6.
  IF (NOT SYSMIS(Q10_7))  Q11=7.
  IF (NOT SYSMIS(Q10_8))  Q11=8.
  IF (NOT SYSMIS(Q10_9))  Q11=9.
  IF (NOT SYSMIS(Q10_10))  Q11=10.
  IF (NOT SYSMIS(Q10_98))  Q11=98.
END IF.
EXECUTE.

Mike


-----Original Message-----
From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of
Mike Pritchard
Sent: 03 July 2011 22:43
To: [hidden email]
Subject: 'punching' value if only one value set

I'm pretty sure this is simpler than the way I'm trying to do it, but I
can't even get the more complicated way to work.

One set of variables (Q10_1 to Q10_10, plus Q10_98) is multiple response
with numeric values corresponding to the variable.  Thus Q10_5 is either
$SYSMIS or 5. Q11 was set by a respondent if more than one of the Q10
variables was set.  (This is all options checkbox, followed by most often
radio button in an online survey).

Q11 wasn't set up to use the single value of the Q10 variable if only one
was set, so now I have to fix it with SPSS.

COUNT Q10_SYSMIS =  Q10_1 TO Q10_98 (SYSMIS).
EXECUTE .

works to find which responses need to be fixed, but I can't get the code
right for setting the right value.  This is my latest attempt:
DO IF (Q10_SYSMIS=10).
  IF (Q10_1~=$SYSMIS)  Q11=1.
  IF (Q10_2~=$SYSMIS)  Q11=2.
  IF (Q10_3~=$SYSMIS)  Q11=3.
  IF (Q10_4~=$SYSMIS)  Q11=4.
  IF (Q10_5~=$SYSMIS)  Q11=5.
  IF (Q10_6~=$SYSMIS)  Q11=6.
  IF (Q10_7~=$SYSMIS)  Q11=7.
  IF (Q10_8~=$SYSMIS)  Q11=8.
  IF (Q10_9~=$SYSMIS)  Q11=9.
  IF (Q10_10~=$SYSMIS)  Q11=10.
  IF (Q10_98~=$SYSMIS)  Q11=98.
END IF.

This doesn't generate errors, but doesn't do anything.

Any suggestions?

Thanks
Mike

=====================
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

=====================
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
Reply | Threaded
Open this post in threaded view
|

Re: Factor Analysis - Error - Pl. Help Me

Jerabek Jindrich
In reply to this post by miryalaramesh
Hello,

Try to look for missing values in your satisfaction scale variables. It could happen that some questions were not asked to all respondents, when used together then (almost) all cases can be excluded from procedure.

regards
Jindra


> ------------ Původní zpráva ------------
> Od: miryalaramesh <[hidden email]>
> Předmět: Factor Analysis - Error - Pl. Help Me
> Datum: 03.7.2011 08:17:02
> ----------------------------------------
> While working with SPSS 17.0 on the data collected and tabulated by myself,
> it is throwing an error as follows
> "*There are fewer than two cases, at least one of the variables has zero
> variance, there is only one variable in the analysis, or correlation
> coefficients could not be computed for all pairs of variables. No further
> statistics will be computed.*".
>
> Basically the collected data is about Doctors job satisfaction on about 34
> aspects considering the scale 1 = extremely satisfied to 7= extremely
> dissatisfied and 4= neutral response. The data has been collected from 200
> Doctors.
>
> pl help me how i can overcome the error specified above.
>
> Dr Ramesh Kumar Miryala
>
> --
> View this message in context:
> http://spssx-discussion.1045642.n5.nabble.com/Factor-Analysis-Error-Pl-Help-Me-tp4546546p4546546.html
> Sent from the SPSSX Discussion mailing list archive at Nabble.com.
>
> =====================
> 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
>
>
>

=====================
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
Reply | Threaded
Open this post in threaded view
|

Re: 'punching' value if only one value set

John F Hall
In reply to this post by Mike Pritchard
Mike

It was late when I answered and I didn't pay enough attention to your
problem.  Your use of q11 implies there was only one response, but you said
your survey was a mult response question.  You don't say what values are
actually present in Q10_1 to Q10_10.  If there is more than one response
checked in Q10_1 to Q10_10 your SPSS code will not pick this up.

Also Jon Peck put me right on the use of sysmis.

If the set of questions allow for more than one box to be checked, this
might work:

do repeat
 X= Q10_1 to Q10_10, Q10_98
 /y = 1 to 10, 98
 /z = mQ10_1 to mQ10_10, mQ10_98.
if (not (sysmis (x))) z = y.
end repeat .

It's a lot shorter, but if SPSS allows you to recode $sysmis a single line
solution could be:

recode Q10_1 to Q10_10, q10_98 ($sysmis = 0) .

. . and check with:

* If codes 1 thru 10 are already there ** .
mult resp groups q10 ' <your own label > '
        (Q10_1 to Q10_10 (1,10))
        /freq q10 .

If there can be only one box checked in the original data, and they're
either $sysmis or 1 try:

mult resp groups q10
        (Q10_1 to Q10_10 (1))
        /freq q10 .

John F Hall

[hidden email]
www.surveyresearch.weebly.com





-----Original Message-----
From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of
Mike Pritchard
Sent: 04 July 2011 00:25
To: [hidden email]
Subject: Re: 'punching' value if only one value set

Thanks Bogdan, John, Bob.

I haven't got the more elegant version working, but this does the job.  (I
mess up with SYSMIS too often)

DO IF (Q10_SYSMIS=10).
  IF (NOT SYSMIS(Q10_1))  Q11=1.
  IF (NOT SYSMIS(Q10_2))  Q11=2.
  IF (NOT SYSMIS(Q10_3))  Q11=3.
  IF (NOT SYSMIS(Q10_4))  Q11=4.
  IF (NOT SYSMIS(Q10_5))  Q11=5.
  IF (NOT SYSMIS(Q10_6))  Q11=6.
  IF (NOT SYSMIS(Q10_7))  Q11=7.
  IF (NOT SYSMIS(Q10_8))  Q11=8.
  IF (NOT SYSMIS(Q10_9))  Q11=9.
  IF (NOT SYSMIS(Q10_10))  Q11=10.
  IF (NOT SYSMIS(Q10_98))  Q11=98.
END IF.
EXECUTE.

Mike


-----Original Message-----
From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of
Mike Pritchard
Sent: 03 July 2011 22:43
To: [hidden email]
Subject: 'punching' value if only one value set

I'm pretty sure this is simpler than the way I'm trying to do it, but I
can't even get the more complicated way to work.

One set of variables (Q10_1 to Q10_10, plus Q10_98) is multiple response
with numeric values corresponding to the variable.  Thus Q10_5 is either
$SYSMIS or 5. Q11 was set by a respondent if more than one of the Q10
variables was set.  (This is all options checkbox, followed by most often
radio button in an online survey).

Q11 wasn't set up to use the single value of the Q10 variable if only one
was set, so now I have to fix it with SPSS.

COUNT Q10_SYSMIS =  Q10_1 TO Q10_98 (SYSMIS).
EXECUTE .

works to find which responses need to be fixed, but I can't get the code
right for setting the right value.  This is my latest attempt:
DO IF (Q10_SYSMIS=10).
  IF (Q10_1~=$SYSMIS)  Q11=1.
  IF (Q10_2~=$SYSMIS)  Q11=2.
  IF (Q10_3~=$SYSMIS)  Q11=3.
  IF (Q10_4~=$SYSMIS)  Q11=4.
  IF (Q10_5~=$SYSMIS)  Q11=5.
  IF (Q10_6~=$SYSMIS)  Q11=6.
  IF (Q10_7~=$SYSMIS)  Q11=7.
  IF (Q10_8~=$SYSMIS)  Q11=8.
  IF (Q10_9~=$SYSMIS)  Q11=9.
  IF (Q10_10~=$SYSMIS)  Q11=10.
  IF (Q10_98~=$SYSMIS)  Q11=98.
END IF.

This doesn't generate errors, but doesn't do anything.

Any suggestions?

Thanks
Mike

=====================
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

=====================
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

=====================
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
Reply | Threaded
Open this post in threaded view
|

Re: 'punching' value if only one value set

John F Hall
Mike

Had a proper look at your problem and also checked sysmis.  You can recode
sysmis but not $sysmis.
You seem to want a value for q11 when only one response is checked in q10-1
to q10-10 as the survey design didn't pick this up.

count x = q10-1 to q10-10 (1 thru 10) .
if (x = 1) q11 = max (q10-1 to q10-10) .

Just tested similar syntax on another data set and it seems to work.  Since
there will only be one value for the cases of interest (they only checked
one box in the list) q11 will be set to that value.  If you need the 98 code
in as well, you'll need to modify the syntax.


John F Hall

[hidden email]
www.surveyresearch.weebly.com







-----Original Message-----
From: John F Hall [mailto:[hidden email]]
Sent: 04 July 2011 06:54
To: 'Mike Pritchard'; [hidden email]
Subject: RE: 'punching' value if only one value set

Mike

It was late when I answered and I didn't pay enough attention to your
problem.  Your use of q11 implies there was only one response, but you said
your survey was a mult response question.  You don't say what values are
actually present in Q10_1 to Q10_10.  If there is more than one response
checked in Q10_1 to Q10_10 your SPSS code will not pick this up.

Also Jon Peck put me right on the use of sysmis.

If the set of questions allow for more than one box to be checked, this
might work:

do repeat
 X= Q10_1 to Q10_10, Q10_98
 /y = 1 to 10, 98
 /z = mQ10_1 to mQ10_10, mQ10_98.
if (not (sysmis (x))) z = y.
end repeat .

It's a lot shorter, but if SPSS allows you to recode $sysmis a single line
solution could be:

recode Q10_1 to Q10_10, q10_98 ($sysmis = 0) .

. . and check with:

* If codes 1 thru 10 are already there ** .
mult resp groups q10 ' <your own label > '
        (Q10_1 to Q10_10 (1,10))
        /freq q10 .

If there can be only one box checked in the original data, and they're
either $sysmis or 1 try:

mult resp groups q10
        (Q10_1 to Q10_10 (1))
        /freq q10 .

John F Hall

[hidden email]
www.surveyresearch.weebly.com





-----Original Message-----
From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of
Mike Pritchard
Sent: 04 July 2011 00:25
To: [hidden email]
Subject: Re: 'punching' value if only one value set

Thanks Bogdan, John, Bob.

I haven't got the more elegant version working, but this does the job.  (I
mess up with SYSMIS too often)

DO IF (Q10_SYSMIS=10).
  IF (NOT SYSMIS(Q10_1))  Q11=1.
  IF (NOT SYSMIS(Q10_2))  Q11=2.
  IF (NOT SYSMIS(Q10_3))  Q11=3.
  IF (NOT SYSMIS(Q10_4))  Q11=4.
  IF (NOT SYSMIS(Q10_5))  Q11=5.
  IF (NOT SYSMIS(Q10_6))  Q11=6.
  IF (NOT SYSMIS(Q10_7))  Q11=7.
  IF (NOT SYSMIS(Q10_8))  Q11=8.
  IF (NOT SYSMIS(Q10_9))  Q11=9.
  IF (NOT SYSMIS(Q10_10))  Q11=10.
  IF (NOT SYSMIS(Q10_98))  Q11=98.
END IF.
EXECUTE.

Mike


-----Original Message-----
From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of
Mike Pritchard
Sent: 03 July 2011 22:43
To: [hidden email]
Subject: 'punching' value if only one value set

I'm pretty sure this is simpler than the way I'm trying to do it, but I
can't even get the more complicated way to work.

One set of variables (Q10_1 to Q10_10, plus Q10_98) is multiple response
with numeric values corresponding to the variable.  Thus Q10_5 is either
$SYSMIS or 5. Q11 was set by a respondent if more than one of the Q10
variables was set.  (This is all options checkbox, followed by most often
radio button in an online survey).

Q11 wasn't set up to use the single value of the Q10 variable if only one
was set, so now I have to fix it with SPSS.

COUNT Q10_SYSMIS =  Q10_1 TO Q10_98 (SYSMIS).
EXECUTE .

works to find which responses need to be fixed, but I can't get the code
right for setting the right value.  This is my latest attempt:
DO IF (Q10_SYSMIS=10).
  IF (Q10_1~=$SYSMIS)  Q11=1.
  IF (Q10_2~=$SYSMIS)  Q11=2.
  IF (Q10_3~=$SYSMIS)  Q11=3.
  IF (Q10_4~=$SYSMIS)  Q11=4.
  IF (Q10_5~=$SYSMIS)  Q11=5.
  IF (Q10_6~=$SYSMIS)  Q11=6.
  IF (Q10_7~=$SYSMIS)  Q11=7.
  IF (Q10_8~=$SYSMIS)  Q11=8.
  IF (Q10_9~=$SYSMIS)  Q11=9.
  IF (Q10_10~=$SYSMIS)  Q11=10.
  IF (Q10_98~=$SYSMIS)  Q11=98.
END IF.

This doesn't generate errors, but doesn't do anything.

Any suggestions?

Thanks
Mike

=====================
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

=====================
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

=====================
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
Reply | Threaded
Open this post in threaded view
|

Re: Factor Analysis - Error - Pl. Help Me

miryalaramesh
In reply to this post by John F Hall
thanks alot...
My problem is solved... I found few missing variables,, which are creating problem.. Now it is solved