response pattern identification

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

response pattern identification

Ian Kudel
Good afternoon,
   I have a data set with 9 items (x1 to x9) each with 5 response options (0 through 3 and missing) for data from 3529 participants.  I would like to identify the number of response patterns and the total number of participants for each response pattern.
 
For example
1,1,1,1,1,1,1,1,1 was reported 1053 times,
1,1,1,1,1,1,1,1,2 was reported 23 times
 
Using this method I assume that I would also be able to also screen those who score a 10 on another measure and just derive the response patterns for those 800 people on items x1 to x9.
Thus for the 800 participants I would might 5 response patterns
 
2,3,1,2,2,1,1,1,1 was reported 200 times
1,2,3,1,2,2,2,1,1,was reported 150 times
etc.
Please let me now if you need any clarification.
 
Thanks in advance.
 
Respectfully,
Ian Kudel
 

Reply | Threaded
Open this post in threaded view
|

Re: response pattern identification

Hector Maletta

Ian,

  1. First you may create a new variable for the entire pattern, multiplying each variable by a convenient multiple of 10. Example:

COMPUTE PATTERN=X9+10*X8+100*X7+1000*X6+10000*X5+100000*X4+1000000*X3+10000000*X2+100000000*X1.

Before this operation, if you want to include cases with a missing response in any variable, you should convert them into valid cases. If “missing” is simply a blank (“system missing”), you should recode system missing values to some specific numeric code. For instance: RECODE X1 TO X9 (SYSMIS=4). If the missing values have a valid code already, for instance 9, then you should treat them as non-missing, for instance with MISSING VALUE X1 TO X9 (). Putting the two parentheses together will define all values as valid (except system missing values).

 

  1. To analyze only the response patterns of people scoring 10 in another variable Z, you must temporarily select those cases before performing the analysis. For instance:

 

TEMPORARY.

SELECT IF Z=10.

FREQUENCIES PATTERN.

This will produce the number of cases with each response pattern, restricted to cases scoring 10 in the variable Z.

Please do not forget TEMPORARY before EVERY analysis of this type: using SELECT IF not preceded by TEMPORARY would eliminate all other cases from your active dataset, and you may risk inadvertently saving the active dataset with the same name, and thus lose all those other cases. TEMPORARY and SELECT IF should be used before each procedure (like FREQUENCIES), because the temporary selection expires after the first procedure requiring reading the data.

 

  1. After you have done the above analysis you may discover that responses are concentrated in a few patterns, but at the same time a number of cases may appear scattered (with low frequencies) in a number of other patterns. In such case, you may want to recode PATTERN (under another name) in such a way that all those other rare patterns are grouped together as “Other”.

 

Hector

 

 


From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of Ian Kudel
Sent: 02 November 2009 18:56
To: [hidden email]
Subject: response pattern identification

 

Good afternoon,

   I have a data set with 9 items (x1 to x9) each with 5 response options (0 through 3 and missing) for data from 3529 participants.  I would like to identify the number of response patterns and the total number of participants for each response pattern.

 

For example

1,1,1,1,1,1,1,1,1 was reported 1053 times,

1,1,1,1,1,1,1,1,2 was reported 23 times

 

Using this method I assume that I would also be able to also screen those who score a 10 on another measure and just derive the response patterns for those 800 people on items x1 to x9.

Thus for the 800 participants I would might 5 response patterns

 

2,3,1,2,2,1,1,1,1 was reported 200 times

1,2,3,1,2,2,2,1,1,was reported 150 times

etc.

Please let me now if you need any clarification.

 

Thanks in advance.

 

Respectfully,

Ian Kudel

 

Ian Kudel, PhD
Research Scientist
Health Services Research and Development, Cincinnati VA Medical Center

 

Reply | Threaded
Open this post in threaded view
|

Re: response pattern identification

Guerrero, Rodrigo

This will work, but you have to recode your 0 values since X?*0 will equal one zero as a result and not a list of them.  You can also convert all values to string and then concatenate them.  This will put a space where data is missing or you could recode missing to a value.

 

I am sure others will have more stylish solutions.

 

RG

 

Rodrigo A. Guerrero | Director Of Marketing Research and Analysis | The Scooter Store | 830.627.4317

 

 

 

 

From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of Hector Maletta
Sent: Monday, November 02, 2009 4:17 PM
To: [hidden email]
Subject: Re: response pattern identification

 

Ian,

1.     First you may create a new variable for the entire pattern, multiplying each variable by a convenient multiple of 10. Example:

COMPUTE PATTERN=X9+10*X8+100*X7+1000*X6+10000*X5+100000*X4+1000000*X3+10000000*X2+100000000*X1.

Before this operation, if you want to include cases with a missing response in any variable, you should convert them into valid cases. If “missing” is simply a blank (“system missing”), you should recode system missing values to some specific numeric code. For instance: RECODE X1 TO X9 (SYSMIS=4). If the missing values have a valid code already, for instance 9, then you should treat them as non-missing, for instance with MISSING VALUE X1 TO X9 (). Putting the two parentheses together will define all values as valid (except system missing values).

 

2.     To analyze only the response patterns of people scoring 10 in another variable Z, you must temporarily select those cases before performing the analysis. For instance:

 

TEMPORARY.

SELECT IF Z=10.

FREQUENCIES PATTERN.

This will produce the number of cases with each response pattern, restricted to cases scoring 10 in the variable Z.

Please do not forget TEMPORARY before EVERY analysis of this type: using SELECT IF not preceded by TEMPORARY would eliminate all other cases from your active dataset, and you may risk inadvertently saving the active dataset with the same name, and thus lose all those other cases. TEMPORARY and SELECT IF should be used before each procedure (like FREQUENCIES), because the temporary selection expires after the first procedure requiring reading the data.

 

3.     After you have done the above analysis you may discover that responses are concentrated in a few patterns, but at the same time a number of cases may appear scattered (with low frequencies) in a number of other patterns. In such case, you may want to recode PATTERN (under another name) in such a way that all those other rare patterns are grouped together as “Other”.

 

Hector

 

 


From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of Ian Kudel
Sent: 02 November 2009 18:56
To: [hidden email]
Subject: response pattern identification

 

Good afternoon,

   I have a data set with 9 items (x1 to x9) each with 5 response options (0 through 3 and missing) for data from 3529 participants.  I would like to identify the number of response patterns and the total number of participants for each response pattern.

 

For example

1,1,1,1,1,1,1,1,1 was reported 1053 times,

1,1,1,1,1,1,1,1,2 was reported 23 times

 

Using this method I assume that I would also be able to also screen those who score a 10 on another measure and just derive the response patterns for those 800 people on items x1 to x9.

Thus for the 800 participants I would might 5 response patterns

 

2,3,1,2,2,1,1,1,1 was reported 200 times

1,2,3,1,2,2,2,1,1,was reported 150 times

etc.

Please let me now if you need any clarification.

 

Thanks in advance.

 

Respectfully,

Ian Kudel

 

Ian Kudel, PhD
Research Scientist
Health Services Research and Development, Cincinnati VA Medical Center

 


The information transmitted is intended only for the addressee(s) and may contain confidential or privileged material, or both. Any review, receipt, dissemination or other use of this information by non-addressees is prohibited. If you received this in error or are a non-addressee, please contact the sender and delete the transmitted information.
Reply | Threaded
Open this post in threaded view
|

Re: response pattern identification

Ruben Geert van den Berg
In reply to this post by Ian Kudel
Dear Ian,
 
Alternatively, you could use aggregate and add the number of cases with a response pattern to the new dataset. The SPSS syntax below creates fake data, saves it as read-only file, makes a copy of the data, filters out respondents with x10=10 and aggregates this into a dataset with all response patterns and their frequency. In order to do the same for all respondents, you could reactivate the original dataset, make a new copy, remove the line  'select if x10=10.' and run the last part again.
 
HTH,
 
Ruben van den Berg


 
 
*Create fake data.
 
new file.
dataset close all.
input program.
loop id=1 to 3529.
end case.
end loop.
end file.
end input program.
do repeat vars=x1 to x9/prob=.1 ,.2 ,.3 ,.4 ,.5 ,.6 ,.7 ,.8 ,.9.
comp vars=rv.ber(prob).
end repeat.
exe.
comp x10=10*rv.bernouilli(.25).
dataset name readonly.
 
*Save data as read-only file.
 
save outfile='c:\temp\pattern.sav'
/permissions = readonly
/compressed.
 
*Copy the data.
 
dataset copy patterns_1.
dataset activate patterns_1.
 
*Filter out people with x10.
 
select if x10=10.
 
sort cases by x1 to x9.
aggregate
/outfile = patterns_1
/break = x1 to x9
/frequency=n.
execute.
dataset activate patterns_1.
sort cases by frequency (d).
 



 



 

Date: Mon, 2 Nov 2009 13:55:54 -0800
From: [hidden email]
Subject: response pattern identification
To: [hidden email]

Good afternoon,
   I have a data set with 9 items (x1 to x9) each with 5 response options (0 through 3 and missing) for data from 3529 participants.  I would like to identify the number of response patterns and the total number of participants for each response pattern.
 
For example
1,1,1,1,1,1,1,1,1 was reported 1053 times,
1,1,1,1,1,1,1,1,2 was reported 23 times
 
Using this method I assume that I would also be able to also screen those who score a 10 on another measure and just derive the response patterns for those 800 people on items x1 to x9.
Thus for the 800 participants I would might 5 response patterns
 
2,3,1,2,2,1,1,1,1 was reported 200 times
1,2,3,1,2,2,2,1,1,was reported 150 times
etc.
Please let me now if you need any clarification.
 
Thanks in advance.
 
Respectfully,
Ian Kudel
 



New Windows 7: Find the right PC for you. Learn more.
Reply | Threaded
Open this post in threaded view
|

Re: response pattern identification

John F Hall
In reply to this post by Hector Maletta
How does SPSS handle the 0 values?  You could always recode 0 -3 to 1 -4 and then use zero as a missing value?  Sound advice on temp.  If I were doing this I'd save the Data Editor as a new file and work with that to ensure safety and integrity of the original.
 
 
---- Original Message -----
Sent: Monday, November 02, 2009 11:17 PM
Subject: Re: response pattern identification

Ian,

  1. First you may create a new variable for the entire pattern, multiplying each variable by a convenient multiple of 10. Example:

COMPUTE PATTERN=X9+10*X8+100*X7+1000*X6+10000*X5+100000*X4+1000000*X3+10000000*X2+100000000*X1.

Before this operation, if you want to include cases with a missing response in any variable, you should convert them into valid cases. If “missing” is simply a blank (“system missing”), you should recode system missing values to some specific numeric code. For instance: RECODE X1 TO X9 (SYSMIS=4). If the missing values have a valid code already, for instance 9, then you should treat them as non-missing, for instance with MISSING VALUE X1 TO X9 (). Putting the two parentheses together will define all values as valid (except system missing values).

 

  1. To analyze only the response patterns of people scoring 10 in another variable Z, you must temporarily select those cases before performing the analysis. For instance:

 

TEMPORARY.

SELECT IF Z=10.

FREQUENCIES PATTERN.

This will produce the number of cases with each response pattern, restricted to cases scoring 10 in the variable Z.

Please do not forget TEMPORARY before EVERY analysis of this type: using SELECT IF not preceded by TEMPORARY would eliminate all other cases from your active dataset, and you may risk inadvertently saving the active dataset with the same name, and thus lose all those other cases. TEMPORARY and SELECT IF should be used before each procedure (like FREQUENCIES), because the temporary selection expires after the first procedure requiring reading the data.

 

  1. After you have done the above analysis you may discover that responses are concentrated in a few patterns, but at the same time a number of cases may appear scattered (with low frequencies) in a number of other patterns. In such case, you may want to recode PATTERN (under another name) in such a way that all those other rare patterns are grouped together as “Other”.

 

Hector

 

 


From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of Ian Kudel
Sent: 02 November 2009 18:56
To: [hidden email]
Subject: response pattern identification

 

Good afternoon,

   I have a data set with 9 items (x1 to x9) each with 5 response options (0 through 3 and missing) for data from 3529 participants.  I would like to identify the number of response patterns and the total number of participants for each response pattern.

 

For example

1,1,1,1,1,1,1,1,1 was reported 1053 times,

1,1,1,1,1,1,1,1,2 was reported 23 times

 

Using this method I assume that I would also be able to also screen those who score a 10 on another measure and just derive the response patterns for those 800 people on items x1 to x9.

Thus for the 800 participants I would might 5 response patterns

 

2,3,1,2,2,1,1,1,1 was reported 200 times

1,2,3,1,2,2,2,1,1,was reported 150 times

etc.

Please let me now if you need any clarification.

 

Thanks in advance.

 

Respectfully,

Ian Kudel

 

Ian Kudel, PhD
Research Scientist
Health Services Research and Development, Cincinnati VA Medical Center