The syntax attached and below and demonstrates
"Aggregate adjacent endorsement frequency for checking scale item distributions" *find "Aggregate adjacent endorsement frequency" * the goal to flag items that may have peculiar disributions * it may be of use when the candidate item pool. * is larger than the intended length of the final scale. * The approach is based on the idea that if two adjacent values do not contain 10% of the cases. * it should be re-examined. *. * this demo has 4 steps. *(1) simulate cases and likert items with no missing values and some forced distribution changes. This is dataset TestData. *(2) create a table that shows what what will be in a working dataset. * use OMS to extract the working data set called ValueCounts. *(3) flag variables for futher examination etc. *=================================. *(1) simulate cases and likert items with no missing values. new file. input program. NUMERIC ID (F4). NUMERIC item01 TO item10 (F3). vector item=item01 TO item10. loop id = 1001 to 1025. loop #p = 1 to 10. compute item(#p) =RND(RV.UNIFORM(.5,5.5)). end loop. end case. end loop. end file. end input program. value labels item01 to item10 1 'Strongly disagree' 2 'Disagree' 3 'Neither' 4 'Agree' 5 'Strongly agree'. * force some weird distributions. recode item02 (3=1)(else=copy). recode item03 (1=5)(2=4)(else=copy). recode item04 (1,2=1)(3=5)(else=copy). recode item05 (1,2,3=1)(4,5=5)(else=copy). recode item06 (2,3,4=3)(else=copy). DATASET NAME TestData. *(2) create a table that shows what will be in the working dataset . ********************************** . * OMS. DATASET DECLARE valuecounts. OMS /SELECT TABLES /IF COMMANDS=['CTables'] SUBTYPES=['Custom Table'] /DESTINATION FORMAT=SAV NUMBERED=TableNumber_ OUTFILE='ValueCounts'. CTABLES /VLABELS VARIABLES=item01 item02 item03 item04 item05 item06 item07 item08 item09 item10 DISPLAY=BOTH /TABLE item01 [COUNT F40.0] + item02 [COUNT F40.0] + item03 [COUNT F40.0] + item04 [COUNT F40.0] + item05 [COUNT F40.0] + item06 [COUNT F40.0] + item07 [COUNT F40.0] + item08 [COUNT F40.0] + item09 [COUNT F40.0] + item10 [COUNT F40.0] /CLABELS ROWLABELS=OPPOSITE /CATEGORIES VARIABLES=item01 item02 item03 item04 item05 item06 item07 item08 item09 item10 ORDER=A KEY=VALUE EMPTY=INCLUDE. OMSEND. dataset activate ValueCounts. RENAME VARIABLES (Count to Count_D = StronglyDisagree Disagree Neither Agree StronglyAgree). *=====================================. Compute ResponseCount= Sum(StronglyDisagree to StronglyAgree). numeric Compare1vs2 Compare2vs3 Compare3vs4 Compare4vs5 (Pct4). numeric Flag1vs2 Flag2vs3 Flag3vs4 Flag4vs5(f1). do repeat compare = Compare1vs2 to Compare4vs5 /flag = Flag1vs2 to Flag4vs5 /myvar1 = StronglyDisagree to Agree /myvar2 = Disagree to StronglyAgree. compute compare = 100*((myvar1+myvar2) /ResponseCount). recode compare(sysmis=0). compute flag =compare lt 10. end repeat. list Var1 to ResponseCount. list Compare1vs2 to Flag4vs5. -- Art Kendall Social Research Consultants Syntax4.sps (3K) Download Attachment
Art Kendall
Social Research Consultants |
Administrator
|
This post was updated on .
Art,
I guess that works fine for people with CTABLES and always 5 categories in their variables. If you intend this for general use you need to make it into a macro. Your basic user will likely not know how to correctly modify it. Expect lots of emails from noobs if/when you position this as a general solution. Or for that matter if people with older OMSless systems try to use it.
Please reply to the list and not to my personal email.
Those desiring my consulting or training services please feel free to email me. --- "Nolite dare sanctum canibus neque mittatis margaritas vestras ante porcos ne forte conculcent eas pedibus suis." Cum es damnatorum possederunt porcos iens ut salire off sanguinum cliff in abyssum?" |
At 07:12 PM 3/11/2014, David Marso wrote:
>I guess that works fine for people with CTABLES and always 5 categories in >their variables. Well, then, I guess I will put forward the solution I posted at (14:42:45 -0400) today. It does use V2C, AGG, C2V logic, so it doesn't require the numbers of items or of responses to be specified. It works better if the names of the items alphabetize in the desired order: item01--item10 do, item1--item10 do not. ===================== 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 |
Administrator
|
I posted a similar solution which is pretty jugular. A bit less follow up work than Richard's. On Tue, Mar 11, 2014 at 7:07 PM, Richard Ristow <[hidden email]> wrote:
Please reply to the list and not to my personal email.
Those desiring my consulting or training services please feel free to email me. --- "Nolite dare sanctum canibus neque mittatis margaritas vestras ante porcos ne forte conculcent eas pedibus suis." Cum es damnatorum possederunt porcos iens ut salire off sanguinum cliff in abyssum?" |
The set of syntax the
list helped me work out was a demo designed more to communicate
the concept rather than provide an efficient way to use
it.
Art Kendall Social Research ConsultantsOn 3/11/2014 8:21 PM, David Marso [via SPSSX Discussion] wrote:
Art Kendall
Social Research Consultants |
Administrator
|
In reply to this post by David Marso
For the benefit of anyone reading the archives in future, here are the more general solutions to Art's problem referred to below.
Richard's solution: http://spssx-discussion.1045642.n5.nabble.com/How-to-assemble-a-datset-with-with-Likert-or-similar-items-as-rows-and-values-as-columns-tp5724824p5724828.html David's solution: http://spssx-discussion.1045642.n5.nabble.com/How-to-assemble-a-datset-with-with-Likert-or-similar-items-as-rows-and-values-as-columns-tp5724824p5724832.html Note too that I had to modify the SAVE command in David's MATRIX program to get it to run properly on my system (SPSS 21.0.0.2, 64-bit version; Windoze 7 Professional, SP1): http://spssx-discussion.1045642.n5.nabble.com/How-to-assemble-a-datset-with-with-Likert-or-similar-items-as-rows-and-values-as-columns-tp5724824p5724833.html HTH.
--
Bruce Weaver bweaver@lakeheadu.ca http://sites.google.com/a/lakeheadu.ca/bweaver/ "When all else fails, RTFM." PLEASE NOTE THE FOLLOWING: 1. My Hotmail account is not monitored regularly. To send me an e-mail, please use the address shown above. 2. The SPSSX Discussion forum on Nabble is no longer linked to the SPSSX-L listserv administered by UGA (https://listserv.uga.edu/). |
In reply to this post by David Marso
I do not intend the
demo to be a general solution.
I intend the demo to communicate what is meant by "Aggregate adjacent endorsement frequency". If I were to be demonstrated in an animated clip. the CTABLE could be generated via the menus and pasted in the syntax. Then the OMS commands could be inserted around that syntax. However, I am not convinced that this is a very useful tool for screening potential scale items. Art Kendall Social Research ConsultantsOn 3/11/2014 7:12 PM, David Marso [via SPSSX Discussion] wrote: Art,
Art Kendall
Social Research Consultants |
Free forum by Nabble | Edit this page |