small Cronbach's Alpha below 60%

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

small Cronbach's Alpha below 60%

Ayo
I have too small Cronbach's Alpha, and when I delete items nothing change it remains too small?
what should I do?

Thank you
Reply | Threaded
Open this post in threaded view
|

Re: Hello

Tesiny, Ed
Can you give us a little more to work with.  What is your N, number of
items, what are you measuring, what is your alpha??

Ed Tesiny
[hidden email]
-----Original Message-----
From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of
Ayo
Sent: Tuesday, May 24, 2011 10:54 AM
To: [hidden email]
Subject: Hello

I have too small Cronbach's Alpha, also when I delete items nothing
change
it remains too small?
what should I do?

Thank you

--
View this message in context:
http://spssx-discussion.1045642.n5.nabble.com/Hello-tp4422312p4422312.ht
ml
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
Ayo
Reply | Threaded
Open this post in threaded view
|

RE: Hello

Ayo
My Cronbach's Alpha is 0.294Total N= 94
Number of item is 6
my variable is Environment Value
 
 
   
   Case
   Processing Summary
   
 
 
   
   
   
   
   N
   
   
   %
   
 
 
   
   Cases
   
   
   Valid
   
   
   91
   
   
   96.8
   
 
 
   
   Excludeda
   
   
   3
   
   
   3.2
   
 
 
   
   Total
   
   
   94
   
   
   100.0
   
 
 
 
 
  a. Listwise deletion
  based on all variables in the procedure.
 
 


 

 


 
 
   
   Reliability
   Statistics
   
 
 
   
   Cronbach's
   Alpha
   
   
   N
   of Items
   
 
 
 
 
  .294
 
 
  6
 
 


 

 


 
 
   
   Item-Total
   Statistics
   
 
 
   
   
   
   
   Scale
   Mean if Item Deleted
   
   
   Scale
   Variance if Item Deleted
   
   
   Corrected
   Item-Total Correlation
   
   
   Cronbach's
   Alpha if Item Deleted
   
 
 
   
   EV1
   
   
   19.4176
   
   
   5.313
   
   
   .243
   
   
   .205
   
 
 
   
   EV2
   
   
   20.3187
   
   
   4.286
   
   
   .271
   
   
   .131
   
 
 
   
   Ev3
   
   
   20.0659
   
   
   5.329
   
   
   .114
   
   
   .268
   
 
 
   
   EV4
   
   
   20.6154
   
   
   4.973
   
   
   .054
   
   
   .328
   
 
 
   
   EV5
   
   
   20.1319
   
   
   5.138
   
   
   .081
   
   
   .296
   
 
 
 
 
  EV6
 
 
  19.7802
 
 
  5.373
 
 
  .071
 
 
  .299
 
 
Thank you very much :D

 

Date: Tue, 24 May 2011 09:16:10 -0700
From: ml-node+4422613-2126959447-211586@n5.nabble.com
To: ayoooy1989@hotmail.com
Subject: Re: Hello



        Can you give us a little more to work with.  What is your N, number of

items, what are you measuring, what is your alpha??


Ed Tesiny

[hidden email]

-----Original Message-----

From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of

Ayo

Sent: Tuesday, May 24, 2011 10:54 AM

To: [hidden email]

Subject: Hello


I have too small Cronbach's Alpha, also when I delete items nothing

change

it remains too small?

what should I do?


Thank you


--

View this message in context:

http://spssx-discussion.1045642.n5.nabble.com/Hello-tp4422312p4422312.ht
ml

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


       
       

       

       
       
                If you reply to this email, your message will be added to the discussion below:
                http://spssx-discussion.1045642.n5.nabble.com/small-Cronbach-s-Alpha-below-60-tp4422312p4422613.html
       
       
               
                To unsubscribe from small Cronbach's Alpha below 60%, click here.
             
Reply | Threaded
Open this post in threaded view
|

Re: Hello

Art Kendall
In reply to this post by Ayo
In addition to what Ed asked, do you have any items that have negative bivariate correlations, perhaps because of balancing?
Is this a scale you are creating or is it something used previously?
If it was used previously, what kind of alpha was found?
If you are the first to create this scale how did you choose the items?

Art Kendall
Social Research Consultants


On 5/24/2011 10:53 AM, Ayo wrote:
I have too small Cronbach's Alpha, also when I delete items nothing change
it remains too small?
what should I do?

Thank you

--
View this message in context: http://spssx-discussion.1045642.n5.nabble.com/Hello-tp4422312p4422312.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
Art Kendall
Social Research Consultants
Reply | Threaded
Open this post in threaded view
|

Re: Hello

Rich Ulrich
In reply to this post by Ayo
Keep in mind that the Cronbach alpha is a measure of
"internal reliability".  It measures, generally speaking,
the average correlation between the set of items.  Related
"scale items" should be correlated to a notable degree.
 - You are either averaging in some negative correlations
or you are averaging together some very small correlations.
Negatives are fixable, and should simply be fixed.

The SPSS reliability procedure does require that the
user provide it with a reversed-scored version for items
that were scored in the "opposite" direction.  It creates
its sum and its statistics while assuming that all the
items are positively correlated.

If you have a set of predictors that are mainly independent
 - not correlated with each other - it is possible that
they might be highly effective even while they produce a
very low "index of internal reliability" like the Cronbach.
A summative scale of that kind needs to be checked by test-
retest reliability, or by its predictive validity.

--
Rich Ulrich

________________________________

> Date: Tue, 24 May 2011 09:46:11 -0700
> From: [hidden email]
> Subject: Re: Hello
> To: [hidden email]
>
> My Cronbach's Alpha is 0.294
> Total N= 94
> Number of item is 6
> my variable is Environment Value
>


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

CasesToVars or better idea

parisec
In reply to this post by Art Kendall
Hi all,
 
I am trying to figure out how to use CasesToVars to turn this this file:
 
ID    Year    Task        Time    Age
1    1986        ONE        2:15     40
1    1990        ONE        3:00    44
1    2000        ONE        1:59    45
1    2005        TWO        4:05    50
1    2007        TWO        3:58    52
1    2008        TWO        3:42    53
2    2001        TWO         3:00    30
2    2002        THREE    1:35    31
2    2003        THREE     1:55    33
2    2005        TWO         2:25    35
2    2006        THREE      2:40    36
 
into a flat file with a time and an age varible for every year/task combination:
 
 
ID       
TimeONE1986 
TimeONE1990
TimeONE2000
Time TWO2001
Time TWO2005  
Time TWO2007 
TimeTWO2008      
TimeTWO2008   
TimeTHREE2002
Time THREE2003
TimeTHREE2006  
etc
Age1986       
Age1990      
Age2000   
Age 2001
Age2005   
Age2007   
Age2008
etc
 
There are 29 tasks and years ranging from 1986 to 2010. the current file has people who have completed at least one task three or more times.
As the sample data show, people don't have a task in every year.
 
I ultimately need to create groups of people who did the same tasks in the same years so i can compare people longitudinally on task time.
 
My 2 questions are:
 
1) How can I use CasesToVars to create the file I think i need (or can I)?
 
2) Does someone have a less cumbersome method of accomplishing what I need to do  than what I am proposing?
 
 
TIA
Carol
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Reply | Threaded
Open this post in threaded view
|

Re: CasesToVars or better idea

Marta Garcia-Granero
Hi Carol:

Is this what you are looking for:
* Sample dataset provided by Carol *.
data list list/ID    Year (2 F8.0)   Task (A8)       Time (Time5)   Age (F8.0).
BEGIN DATA
1    1986        ONE        2:15     40
1    1990        ONE        3:00    44
1    2000        ONE        1:59    45
1    2005        TWO        4:05    50
1    2007        TWO        3:58    52
1    2008        TWO        3:42    53
2    2001        TWO         3:00    30
2    2002        THREE    1:35    31
2    2003        THREE     1:55    33
2    2005        TWO         2:25    35
2    2006        THREE      2:40    36
END DATA.

* Concatenate Task&Year into a single variable to use it later as INDEX variable *.
STRING Names (A15).
COMPUTE Names = CONCAT(RTRIM(Task),STRING(Year,F4.0)) .

* Restructure dataset *.
SORT CASES BY ID Names .
CASESTOVARS
 /ID = ID
 /INDEX = Names
 /GROUPBY = VARIABLE
  /DROP=Year Task .

HTH,
Marta GG


El 27/05/2011 1:02, Parise, Carol A. escribió:
ID    Year    Task        Time    Age
1    1986        ONE        2:15     40
1    1990        ONE        3:00    44
1    2000        ONE        1:59    45
1    2005        TWO        4:05    50
1    2007        TWO        3:58    52
1    2008        TWO        3:42    53
2    2001        TWO         3:00    30
2    2002        THREE    1:35    31
2    2003        THREE     1:55    33
2    2005        TWO         2:25    35
2    2006        THREE      2:40    36

Reply | Threaded
Open this post in threaded view
|

Re: CasesToVars or better idea

Marta Garcia-Granero
In reply to this post by parisec
Hi again:

I have found out that there is no need to concatenate both variables into one. This shorter syntax:

SORT CASES BY ID Task Year .
CASESTOVARS
 /ID = ID
 /INDEX = Task Year
 /GROUPBY = VARIABLE .

Gives exactly the same result.

Best regards,
Marta GG

El 27/05/2011 1:02, Parise, Carol A. escribió:
Hi all,
 
I am trying to figure out how to use CasesToVars to turn this this file:
 
ID    Year    Task        Time    Age
1    1986        ONE        2:15     40
1    1990        ONE        3:00    44
1    2000        ONE        1:59    45
1    2005        TWO        4:05    50
1    2007        TWO        3:58    52
1    2008        TWO        3:42    53
2    2001        TWO         3:00    30
2    2002        THREE    1:35    31
2    2003        THREE     1:55    33
2    2005        TWO         2:25    35
2    2006        THREE      2:40    36
 
into a flat file with a time and an age varible for every year/task combination:
 
 
ID       
TimeONE1986 
TimeONE1990
TimeONE2000
Time TWO2001
Time TWO2005  
Time TWO2007 
TimeTWO2008      
TimeTWO2008   
TimeTHREE2002
Time THREE2003
TimeTHREE2006  
etc
Age1986       
Age1990      
Age2000   
Age 2001
Age2005   
Age2007   
Age2008
etc
 
There are 29 tasks and years ranging from 1986 to 2010. the current file has people who have completed at least one task three or more times.
As the sample data show, people don't have a task in every year.
 
I ultimately need to create groups of people who did the same tasks in the same years so i can compare people longitudinally on task time.
 
My 2 questions are:
 
1) How can I use CasesToVars to create the file I think i need (or can I)?
 
2) Does someone have a less cumbersome method of accomplishing what I need to do  than what I am proposing?
 
 
TIA
Carol
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Reply | Threaded
Open this post in threaded view
|

Re: CasesToVars or better idea

parisec
Marta,
 
This did the trick!
 
Do you know if there is a way to modify this code so that variables that are associated with a just a year or just an ID so that one variable per case is created.
 
I have a variable for sex that doesn't need to be associated with the task or year. In addition, i would like to have age only associated with year and not a task.
 
the current syntax gives me a variable for each task/year combination like this:
 
age.Task1.2003
age.Task1.2004
age.Task1.2005
 
sex.Task1.2003
sex.Task1.2004
sex.Task1.2005
 
etc...
 
 
I would like to have:
 
ID        Sex        Age1986    Age1987 Age1988 etc.
 
This would dramatically cut down the number of variables in the file.
 
Thank you again for your time.
Carol
 
 
 


From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of Marta García-Granero
Sent: Friday, May 27, 2011 12:50 AM
To: [hidden email]
Subject: Re: CasesToVars or better idea

Hi again:

I have found out that there is no need to concatenate both variables into one. This shorter syntax:

SORT CASES BY ID Task Year .
CASESTOVARS
 /ID = ID
 /INDEX = Task Year
 /GROUPBY = VARIABLE .

Gives exactly the same result.

Best regards,
Marta GG

El 27/05/2011 1:02, Parise, Carol A. escribió:
Hi all,
 
I am trying to figure out how to use CasesToVars to turn this this file:
 
ID    Year    Task        Time    Age
1    1986        ONE        2:15     40
1    1990        ONE        3:00    44
1    2000        ONE        1:59    45
1    2005        TWO        4:05    50
1    2007        TWO        3:58    52
1    2008        TWO        3:42    53
2    2001        TWO         3:00    30
2    2002        THREE    1:35    31
2    2003        THREE     1:55    33
2    2005        TWO         2:25    35
2    2006        THREE      2:40    36
 
into a flat file with a time and an age varible for every year/task combination:
 
 
ID       
TimeONE1986 
TimeONE1990
TimeONE2000
Time TWO2001
Time TWO2005  
Time TWO2007 
TimeTWO2008      
TimeTWO2008   
TimeTHREE2002
Time THREE2003
TimeTHREE2006  
etc
Age1986       
Age1990      
Age2000   
Age 2001
Age2005   
Age2007   
Age2008
etc
 
There are 29 tasks and years ranging from 1986 to 2010. the current file has people who have completed at least one task three or more times.
As the sample data show, people don't have a task in every year.
 
I ultimately need to create groups of people who did the same tasks in the same years so i can compare people longitudinally on task time.
 
My 2 questions are:
 
1) How can I use CasesToVars to create the file I think i need (or can I)?
 
2) Does someone have a less cumbersome method of accomplishing what I need to do  than what I am proposing?
 
 
TIA
Carol
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CG
Reply | Threaded
Open this post in threaded view
|

Automatic reply: CasesToVars or better idea

CG

I am out Friday afternoon  May 27 through Tuesday May 31.  Please contact the following for assistance:

Tom Dauphinee ([hidden email]),

Robert Romero [hidden email] (Assessments)505.827.6524;

Darlene Toner (Procurement) [hidden email] 505.827.6683;

Jonathan Firschein (SOAP Authorizations) [hidden email], 505.827.7950.

Thank you.

 

Reply | Threaded
Open this post in threaded view
|

Re: CasesToVars or better idea

parisec
In reply to this post by parisec
I answered my own question by reviewing the CasesToVars syntax so I figured I would reply to the list in case anyone else is itching to see how this turned out.
 
CasestoVars will automatically create just one variable via /autofix subcommand (default = YES) if all of the values for the grouping variable are the same. So in my example below, a "sex" field should have been created with the value M or F for each case in the new file. But, if someone has both an F and an M associated with their name, /autofix doesn't work. When the data are nice and clean, this all works just fine.
 
Happy Friday all!
 
 
 
 


From: Parise, Carol A.
Sent: Friday, May 27, 2011 11:36 AM
To: 'Marta García-Granero'; [hidden email]
Subject: RE: CasesToVars or better idea

Marta,
 
This did the trick!
 
Do you know if there is a way to modify this code so that variables that are associated with a just a year or just an ID so that one variable per case is created.
 
I have a variable for sex that doesn't need to be associated with the task or year. In addition, i would like to have age only associated with year and not a task.
 
the current syntax gives me a variable for each task/year combination like this:
 
age.Task1.2003
age.Task1.2004
age.Task1.2005
 
sex.Task1.2003
sex.Task1.2004
sex.Task1.2005
 
etc...
 
 
I would like to have:
 
ID        Sex        Age1986    Age1987 Age1988 etc.
 
This would dramatically cut down the number of variables in the file.
 
Thank you again for your time.
Carol
 
 
 


From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of Marta García-Granero
Sent: Friday, May 27, 2011 12:50 AM
To: [hidden email]
Subject: Re: CasesToVars or better idea

Hi again:

I have found out that there is no need to concatenate both variables into one. This shorter syntax:

SORT CASES BY ID Task Year .
CASESTOVARS
 /ID = ID
 /INDEX = Task Year
 /GROUPBY = VARIABLE .

Gives exactly the same result.

Best regards,
Marta GG

El 27/05/2011 1:02, Parise, Carol A. escribió:
Hi all,
 
I am trying to figure out how to use CasesToVars to turn this this file:
 
ID    Year    Task        Time    Age
1    1986        ONE        2:15     40
1    1990        ONE        3:00    44
1    2000        ONE        1:59    45
1    2005        TWO        4:05    50
1    2007        TWO        3:58    52
1    2008        TWO        3:42    53
2    2001        TWO         3:00    30
2    2002        THREE    1:35    31
2    2003        THREE     1:55    33
2    2005        TWO         2:25    35
2    2006        THREE      2:40    36
 
into a flat file with a time and an age varible for every year/task combination:
 
 
ID       
TimeONE1986 
TimeONE1990
TimeONE2000
Time TWO2001
Time TWO2005  
Time TWO2007 
TimeTWO2008      
TimeTWO2008   
TimeTHREE2002
Time THREE2003
TimeTHREE2006  
etc
Age1986       
Age1990      
Age2000   
Age 2001
Age2005   
Age2007   
Age2008
etc
 
There are 29 tasks and years ranging from 1986 to 2010. the current file has people who have completed at least one task three or more times.
As the sample data show, people don't have a task in every year.
 
I ultimately need to create groups of people who did the same tasks in the same years so i can compare people longitudinally on task time.
 
My 2 questions are:
 
1) How can I use CasesToVars to create the file I think i need (or can I)?
 
2) Does someone have a less cumbersome method of accomplishing what I need to do  than what I am proposing?
 
 
TIA
Carol
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Reply | Threaded
Open this post in threaded view
|

automate computations

parisec
In reply to this post by Marta Garcia-Granero
Hi all,
 
This is another question about the same data that i asked about a few weeks agoin in the question: "CasesToVars or better idea". Marta provided some syntax to flip the file which worked great.  The next goal is to identify the people who performed the same tasks in the same year and compare their time on the tasks. When i flattened the file, i started creating a bunch of computes:
 
compute TaskOne_1986 = 0.
    if (Year =1986 and Task = 1) TaskOne_1986=1.
 
etc.
 
then planned to do another set of computes:  If TaskOne_1986=1 and TaskOne_1987=1 and TaskOne=1990 etc to find groups of people who did a particular task in a particular year. After a few rounds of "computes" i started wondering of there was a more automated way to do this.
 
i went back to the "long file" format (my data look like this):
 ID   Year    Task        Time    Age
1    1986        ONE        2:15     40
1    1990        ONE        3:00    44
1    2000        ONE        1:59    45
1    2005        TWO        4:05    50
1    2007        TWO        3:58    52
1    2008        TWO        3:42    53
2    2001        TWO         3:00    30
2    2002        THREE    1:35    31
2    2003        THREE     1:55    33
2    2005        TWO         2:25    35
2    2006        THREE      2:40    36

...and ran a task by year crosstabulation table. Here is an example of the results of this file.
 

Task ID

1990

1991

1992

1993

1994

One

0

0

0

0

1

Two

0

5

8

7

9

Three

13

19

14

13

19

Four

0

2

1

0

1

Five

9

14

10

14

20

Six

0

1

1

2

1

Seven

14

10

14

20

31

Eight

2

1

0

1

1

Nine

0

0

0

5

8

Ten

14

42

70

78

99

 
There are a total of 28 tasks performed over 36 (1974-2010) years. Using my current strategy means i would need to create a compute for every permutation of year/task! I also need to know the age of people in the year that they performed the task. I ultimately plan to use linear mixed models so i don't need to flatten the file.
 
I suspect there may be a more efficient method to group people who have done the same tasks in the same year and if anyone has one, I thank you in advanced.
 
Carol
 
Reply | Threaded
Open this post in threaded view
|

Re: automate computations

David Marso
Administrator
"create a compute for every permutation of year/task! "
...
First of all, forget about explicitly computing every combination.
Use VECTORS and a simple compute as follows:

NUMERIC Task01_1974 TO Task01_2010 Task02_1974 TO Task02_2010 ............
..  etc        ....... TASK28_1974 TO Task28_2010.
RECODE Task01_1974 TO Task28_2010 (ELSE=0).
VECTOR TaskYear=Task01_1974 TO Task28_2010.
COMPUTE TaskYear( (Task-1) * 36 + Year - 1974 + 1) =1.

"I suspect there may be a more efficient method to group people who have done the same tasks in the same year and if anyone has one, I thank you in advanced."

I'm not sure how this achieves the stated goal of "grouping" people.
HTH, but I'm not sure it does ;-)
David
------

Parise, Carol A. wrote
Hi all,

This is another question about the same data that i asked about a few weeks agoin in the question: "CasesToVars or better idea". Marta provided some syntax to flip the file which worked great.  The next goal is to identify the people who performed the same tasks in the same year and compare their time on the tasks. When i flattened the file, i started creating a bunch of computes:

compute TaskOne_1986 = 0.
    if (Year =1986 and Task = 1) TaskOne_1986=1.

etc.

then planned to do another set of computes:  If TaskOne_1986=1 and TaskOne_1987=1 and TaskOne=1990 etc to find groups of people who did a particular task in a particular year. After a few rounds of "computes" i started wondering of there was a more automated way to do this.

i went back to the "long file" format (my data look like this):
 ID   Year    Task        Time    Age
1    1986        ONE        2:15     40
1    1990        ONE        3:00    44
1    2000        ONE        1:59    45
1    2005        TWO        4:05    50
1    2007        TWO        3:58    52
1    2008        TWO        3:42    53
2    2001        TWO         3:00    30
2    2002        THREE    1:35    31
2    2003        THREE     1:55    33
2    2005        TWO         2:25    35
2    2006        THREE      2:40    36

...and ran a task by year crosstabulation table. Here is an example of the results of this file.

<SNIP TABLE>

There are a total of 28 tasks performed over 36 (1974-2010) years. Using my current strategy means i would need to create a compute for every permutation of year/task! I also need to know the age of people in the year that they performed the task. I ultimately plan to use linear mixed models so i don't need to flatten the file.

I suspect there may be a more efficient method to group people who have done the same tasks in the same year and if anyone has one, I thank you in advanced.

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

Re: automate computations

parisec
David,

>I'm not sure how this achieves the stated goal of "grouping" people.

Point well taken and thank you for the code. Once i run this, my plan was again to use a bunch of compute statements to find all of the people who did the same task in the same year.

I would love it if you or someone had a more elegant solution. Maybe one that doesn't require flattening the file?

Thanks
Carol

-----Original Message-----
From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of David Marso
Sent: Tuesday, June 07, 2011 6:28 PM
To: [hidden email]
Subject: Re: automate computations

"create a compute for every permutation of year/task! "
...
First of all, forget about explicitly computing every combination.
Use VECTORS and a simple compute as follows:

NUMERIC Task01_1974 TO Task01_2010 Task02_1974 TO Task02_2010 ............
..  etc        ....... TASK28_1974 TO Task28_2010.
RECODE Task01_1974 TO Task28_2010 (ELSE=0).
VECTOR TaskYear=Task01_1974 TO Task28_2010.
COMPUTE TaskYear( (Task-1) * 36 + Year - 1974 + 1) =1.

"I suspect there may be a more efficient method to group people who have done the same tasks in the same year and if anyone has one, I thank you in advanced."

I'm not sure how this achieves the stated goal of "grouping" people.
HTH, but I'm not sure it does ;-)
David
------


Parise, Carol A. wrote:

>
> Hi all,
>
> This is another question about the same data that i asked about a few
> weeks agoin in the question: "CasesToVars or better idea". Marta
> provided some syntax to flip the file which worked great.  The next
> goal is to identify the people who performed the same tasks in the
> same year and compare their time on the tasks. When i flattened the
> file, i started creating a bunch of computes:
>
> compute TaskOne_1986 = 0.
>     if (Year =1986 and Task = 1) TaskOne_1986=1.
>
> etc.
>
> then planned to do another set of computes:  If TaskOne_1986=1 and
> TaskOne_1987=1 and TaskOne=1990 etc to find groups of people who did a
> particular task in a particular year. After a few rounds of "computes"
> i started wondering of there was a more automated way to do this.
>
> i went back to the "long file" format (my data look like this):
>  ID   Year    Task        Time    Age
> 1    1986        ONE        2:15     40
> 1    1990        ONE        3:00    44
> 1    2000        ONE        1:59    45
> 1    2005        TWO        4:05    50
> 1    2007        TWO        3:58    52
> 1    2008        TWO        3:42    53
> 2    2001        TWO         3:00    30
> 2    2002        THREE    1:35    31
> 2    2003        THREE     1:55    33
> 2    2005        TWO         2:25    35
> 2    2006        THREE      2:40    36
>
> ...and ran a task by year crosstabulation table. Here is an example of
> the results of this file.
>
> <SNIP TABLE>
>
> There are a total of 28 tasks performed over 36 (1974-2010) years.
> Using my current strategy means i would need to create a compute for
> every permutation of year/task! I also need to know the age of people
> in the year that they performed the task. I ultimately plan to use
> linear mixed models so i don't need to flatten the file.
>
> I suspect there may be a more efficient method to group people who
> have done the same tasks in the same year and if anyone has one, I
> thank you in advanced.
>
> Carol
>


--
View this message in context: http://spssx-discussion.1045642.n5.nabble.com/small-Cronbach-s-Alpha-below-60-tp4422312p4463647.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: automate computations

David Marso
Administrator
Hi Carol,
Sorting the file by YEAR and TASK would 'group' people (not sure what
you would do from there).
RANK time BY year task would create a new variable with ranks of individuals.
AGGREGATE could give you MEAN. MIN, MAX, MEDIAN SD etc within TASK/YEAR.
etc...
Without knowing what you are attempting to achieve as a big picture it
is very difficult to make further recommendations.
HTH, David

On Thu, Jun 9, 2011 at 7:51 PM, Parise, Carol A.
<[hidden email]> wrote:

> David,
>
>>I'm not sure how this achieves the stated goal of "grouping" people.
>
> Point well taken and thank you for the code. Once i run this, my plan was again to use a bunch of compute statements to find all of the people who did the same task in the same year.
>
> I would love it if you or someone had a more elegant solution. Maybe one that doesn't require flattening the file?
>
> Thanks
> Carol
>
> -----Original Message-----
> From: SPSSX(r) Discussion [mailto:[hidden email]] On Behalf Of David Marso
> Sent: Tuesday, June 07, 2011 6:28 PM
> To: [hidden email]
> Subject: Re: automate computations
>
> "create a compute for every permutation of year/task! "
> ...
> First of all, forget about explicitly computing every combination.
> Use VECTORS and a simple compute as follows:
>
> NUMERIC Task01_1974 TO Task01_2010 Task02_1974 TO Task02_2010 ............
> ..  etc        ....... TASK28_1974 TO Task28_2010.
> RECODE Task01_1974 TO Task28_2010 (ELSE=0).
> VECTOR TaskYear=Task01_1974 TO Task28_2010.
> COMPUTE TaskYear( (Task-1) * 36 + Year - 1974 + 1) =1.
>
> "I suspect there may be a more efficient method to group people who have done the same tasks in the same year and if anyone has one, I thank you in advanced."
>
> I'm not sure how this achieves the stated goal of "grouping" people.
> HTH, but I'm not sure it does ;-)
> David
> ------
>
>
> Parise, Carol A. wrote:
>>
>> Hi all,
>>
>> This is another question about the same data that i asked about a few
>> weeks agoin in the question: "CasesToVars or better idea". Marta
>> provided some syntax to flip the file which worked great.  The next
>> goal is to identify the people who performed the same tasks in the
>> same year and compare their time on the tasks. When i flattened the
>> file, i started creating a bunch of computes:
>>
>> compute TaskOne_1986 = 0.
>>     if (Year =1986 and Task = 1) TaskOne_1986=1.
>>
>> etc.
>>
>> then planned to do another set of computes:  If TaskOne_1986=1 and
>> TaskOne_1987=1 and TaskOne=1990 etc to find groups of people who did a
>> particular task in a particular year. After a few rounds of "computes"
>> i started wondering of there was a more automated way to do this.
>>
>> i went back to the "long file" format (my data look like this):
>>  ID   Year    Task        Time    Age
>> 1    1986        ONE        2:15     40
>> 1    1990        ONE        3:00    44
>> 1    2000        ONE        1:59    45
>> 1    2005        TWO        4:05    50
>> 1    2007        TWO        3:58    52
>> 1    2008        TWO        3:42    53
>> 2    2001        TWO         3:00    30
>> 2    2002        THREE    1:35    31
>> 2    2003        THREE     1:55    33
>> 2    2005        TWO         2:25    35
>> 2    2006        THREE      2:40    36
>>
>> ...and ran a task by year crosstabulation table. Here is an example of
>> the results of this file.
>>
>> <SNIP TABLE>
>>
>> There are a total of 28 tasks performed over 36 (1974-2010) years.
>> Using my current strategy means i would need to create a compute for
>> every permutation of year/task! I also need to know the age of people
>> in the year that they performed the task. I ultimately plan to use
>> linear mixed models so i don't need to flatten the file.
>>
>> I suspect there may be a more efficient method to group people who
>> have done the same tasks in the same year and if anyone has one, I
>> thank you in advanced.
>>
>> Carol
>>
>
>
> --
> View this message in context: http://spssx-discussion.1045642.n5.nabble.com/small-Cronbach-s-Alpha-below-60-tp4422312p4463647.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
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?"
Reply | Threaded
Open this post in threaded view
|

Re: automate computations

Richard Ristow
In reply to this post by parisec
At 06:05 PM 6/7/2011, Parise, Carol A. wrote:

>This is about the same data that I asked about a few weeks ago in
>the question: "CasesToVars or better idea":
>
>ID      Year    Task    Time    Age
>1       1986    ONE     2:15    40
>1       1990    ONE     3:00    44
>1       2000    ONE     1:59    45
>1       2005    TWO     4:05    50
>1       2007    TWO     3:58    52
>1       2008    TWO     3:42    53
>2       2001    TWO     3:00    30
>2       2002    THREE   1:35    31
>2       2003    THREE   1:55    33
>2       2005    TWO     2:25    35
>2       2006    THREE   2:40    36
>
>The next goal is to identify the people who performed the same tasks
>in the same year and compare their time on the tasks. There are a
>total of 28 tasks performed over 36 (1974-2010) years. Using [the
>wide form of this file] means I would need to create a compute for
>every permutation of year/task!

Let me see if I have this right: You have 28*36 groups of people, by
task-year; group (i,j) consists of all people who, in year i,
performed task j.  Here are the task-year groups from your example
data, with the IDs of everybody in each of them:
|-----------------------------|---------------------------|
|Output Created               |11-JUN-2011 01:59:32       |
|-----------------------------|---------------------------|
[TaskYrs]
TaskYear     ID

1986-ONE      1
1990-ONE      1
2000-ONE      1
2001-TWO      2
2002-THREE    2
2003-THREE    2
2005-TWO      1
2005-TWO      2
2006-THREE    2
2007-TWO      1
2008-TWO      1

Number of cases read:  11    Number of cases listed:  11


You want to select all records for all people in each of those
groups. That means, in your final selected file, most records will
occur multiple times;  for example, person 1 (and, therefore, all
records for person 1) is in groups 1986-ONE, 1990-ONE, 2000-ONE,
2005-TWO, 2007-TWO, and 2007-TWO.

If that's right, you have a many-to-many merge: a person has, in
general, several records for different year-tasks, and therefore
belongs to several year-task groups; and you want to identify every
one of that person's records with every group they're in.

Is that it? If so, I can post how to do the many-to-many merge; but I
won't do that unless it is what you want, as it's a little complicated.

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