Hi, wondering if RMANOVA is appropriate for the following: we have 2
groups (headache and control subjects) in which we measured pain sensitivity before and after a stress task. it would seem to be a simple mixed design (one BS factor with 2 levels, and one WS factor with 2 levels). However, our hypothesis is that stress will increase pain sensitivity in both groups, but more so in headache group. Not surprisingly, when we run the RMANOVA, we get a group effect (headache group has incresed pain sensitivity) and a time effect (stres increases pain sensitivity), but no interaction. This would sem to not support the hypothesis. However, t-tests show no change in pre-post pain scores for the control group, but a decrease in pre-post pain scores for the headache group. Hence, it seems that the hypothesized effect is there, but that the RMANOVA doesn't really show it due to the large change in headache group scores and the small (but in the same direction) change in control group scores. So, im wondering if the RMANOVA is the best analysis for this data? or, is it simply the case that the RMANOVA IS the best analysis and the effets just aren't there? |
Stephen Brand
www.statisticsdoc.com Stuart, I would suggest that the Repated Measures ANOVA is the appropriate test of your hypothesis. The Repeated Measures ANOVA is testing whether there is a significant difference in the slopes over time between the control and headache groups, which is the question of interest. The t-test addresses a different point, namely whether the slope is significantly different from zero in the control and the headache group. It is quite possible to find no significant difference between slopes even when one is significantly different from zero and the other is not. A little more formally: The null hypothesis that you are testing is whether: Slope (Headache) - Slope (Control) = 0 . The t-tests are dealing with the following null hypotheses: Slope (Headache) = 0 . Slope (Control) = 0 . HTH, SB ---- Stuart Cathcart <[hidden email]> wrote: > Hi, wondering if RMANOVA is appropriate for the following: we have 2 > groups (headache and control subjects) in which we measured pain > sensitivity before and after a stress task. it would seem to be a simple > mixed design (one BS factor with 2 levels, and one WS factor with 2 > levels). However, our hypothesis is that stress will increase pain > sensitivity in both groups, but more so in headache group. Not > surprisingly, when we run the RMANOVA, we get a group effect (headache > group has incresed pain sensitivity) and a time effect (stres increases > pain sensitivity), but no interaction. This would sem to not support the > hypothesis. However, t-tests show no change in pre-post pain scores for > the control group, but a decrease in pre-post pain scores for the headache > group. Hence, it seems that the hypothesized effect is there, but that the > RMANOVA doesn't really show it due to the large change in headache group > scores and the small (but in the same direction) change in control group > scores. So, im wondering if the RMANOVA is the best analysis for this > data? or, is it simply the case that the RMANOVA IS the best analysis and > the effets just aren't there? -- For personalized and experienced consulting in statistics and research design, visit www.statisticsdoc.com |
Hello, I am trying to automate a data restructuring task and was
wondering if someone could help. My data are: Id s01 s01a s01b s02 s02a s02b s03 s03a s03b 1 1 5 16 0 . . 1 4 24 S01, s02, s03 are events that may have happened to the subject. So each subject can have zero, only one, only two, or all three events recorded. Every time an event is recorded (has value of 1), the additional info about this event (s0?a, s0?b variables) are also recorded. Now, I need to create only one event (and the a,b variables associated with that event) per row. So, the data above should look like this: Id s01 s01a s01b s02 s02a s02b s03 s03a s03b 1 1 5 16 0 . . . . . Id s01 s01a s01b s02 s02a s02b s03 s03a s03b 1 . . . 0 . . 1 4 24 Is there a way to do it through syntax? I tried playing around with the Restructure Wizard but it did not seem to have such capability. Any help would be greatly appreciated. Thanks a lot. Bozena Bozena Zdaniuk, Ph.D. University of Pittsburgh UCSUR, 6th Fl. 121 University Place Pittsburgh, PA 15260 Ph.: 412-624-5736 Fax: 412-624-4810 email: [hidden email] |
Bozena,
To summarize you want to build a new dataset having as many records as the count of 1's in the variables S01, S02 and S03. If the first record in the set of records for the same id has S01=1, then S02-S02b and S03-S03b=sysmis if S02=1 or S03=1, respectively. However, if S02=0 or S03=0, S02 or S03, respectively, is not set to sysmis. For the second record in the set, S02 is the target variable and for the third record in the set, S03 is the target variable. To start, I would add the data file three times to get three copies of every record. Then sort by id. Next, number the records with id. Like this, Compute rec=1. If (id eq lag(id)) rec=lag(rec)+1. Now, work through each record resetting values to sysmis according to the procedural rules. Do if (rec eq 1). + Do if (s01 eq 1). + if (s02 eq 1) s02a=$sysmis. + if (s02 eq 1) s02b=$sysmis. + if (s02 eq 1) s02=$sysmis. + if (s03 eq 1) s03a=$sysmis. + if (s03 eq 1) s03b=$sysmis. + if (s03 eq 1) s03=$sysmis. + Else. + compute rec=9. + end if. Else if (rec eq 2). + Do if (s02 eq 1). + if (s01 eq 1) s01a=$sysmis. + if (s01 eq 1) s01b=$sysmis. + if (s01 eq 1) s01=$sysmis. + if (s03 eq 1) s03a=$sysmis. + if (s03 eq 1) s03b=$sysmis. + if (s03 eq 1) s03=$sysmis. + Else. + compute rec=9. + end if. Else if (rec eq 3). + Do if (s03 eq 1). + if (s01 eq 1) s01a=$sysmis. + if (s01 eq 1) s01b=$sysmis. + if (s01 eq 1) s01=$sysmis. + if (s02 eq 1) s02a=$sysmis. + if (s02 eq 1) s02b=$sysmis. + if (s02 eq 1) s02=$sysmis. + Else. + compute rec=9. + end if. End if. Lastly, dump the records with rec=9 as these are the records where s1=0, s2=0 or s3=0, given that the rec=1, 2, or 3, respectively. Select if (rec ne 9). I haven't tested this so let me know if you have troubles. Gene Maguin |
In reply to this post by Zdaniuk, Bozena
At 11:19 AM 6/23/2006, Zdaniuk, Bozena wrote:
>I am trying to automate a data restructuring task. >My data are: >Id s01 s01a s01b s02 s02a s02b s03 s03a s03b >1 1 5 16 0 . . 1 4 24 > >S01, s02, s03 are events that may have happened to the subject. So >each subject can have zero, only one, only two, or all three events >recorded. Every time an event is recorded (has value of 1), the >additional info about this event (s0?a, s0?b variables) are also >recorded. > >Now, I need to create only one event (and the a,b variables associated >with that event) per row. So, the data above should look like this: > >Id s01 s01a s01b s02 s02a s02b s03 s03a s03b >1 1 5 16 0 . . . . . >1 . . . 0 . . 1 4 24 The above is what you posted. Did you mean this? Id s01 s01a s01b s02 s02a s02b s03 s03a s03b 1 1 5 16 . . . . . . 1 . . . 0 . . . . . 1 . . . . . . 1 4 24 You know your business best, but a more common way to restructure would be, Id Event s s_a s_b 1 1 1 5 16 1 2 0 . . 1 3 1 4 24 That should be easier to use, for most purposes, and it can be done with the restructuring wizard. However, to do what you want - Gene Maguin suggested a solution catenating the file with itself, sorting, and deleting unwanted values. Here's an alternative, using XSAVE. This is SPSS draft output. I've added two more test records. * ....................................................... . LIST. List |-------------------------|------------------------| |Output Created |24-JUN-2006 01:32:02 | |-------------------------|------------------------| Id s01 s01a s01b s02 s02a s02b s03 s03a s03b 1 1 5 16 0 . . 1 4 24 2 1 7 13 1 3 15 0 . . 3 0 . . 1 4 19 1 7 11 Number of cases read: 3 Number of cases listed: 3 * Rename the existing variables, to get out of the way of . * new ones to be created. . ADD FILES /FILE=* /RENAME = (s01 s01a s01b s02 s02a s02b s03 s03a s03b =x01 x01a x01b x02 x02a x02b x03 x03a x03b). . /*-- LIST. * Make new copies of the variables for the output file . NUMERIC s01 s01a s01b s02 s02a s02b s03 s03a s03b (F2). VECTOR s = s01 TO s03b. VECTOR x = x01 TO x03b. LOOP #EVENT = 1 TO 3. * Blank out all the output variables: . . RECODE s01 s01a s01b s02 s02a s02b s03 s03a s03b (ELSE = SYSMIS). . COMPUTE #LOWER = 1 + 3*(#EVENT-1). . COMPUTE #UPPER = #LOWER + 2. . LOOP #INDEX = #LOWER TO #UPPER. . COMPUTE s(#INDEX) = x(#INDEX). . END LOOP. . XSAVE OUTFILE = EXPAND /KEEP = ID s01 s01a s01b s02 s02a s02b s03 s03a s03b. END LOOP. EXECUTE /* <- Yes, it's needed, here. */. GET FILE=EXPAND. LIST. List |-------------------------|------------------------| |Output Created |24-JUN-2006 01:32:02 | |-------------------------|------------------------| C:\Documents and Settings\Richard\My Documents \Temporary\SPSS \2006-06-23 Zdaniuk - restructuring data ser.SAV Id s01 s01a s01b s02 s02a s02b s03 s03a s03b 1 1 5 16 . . . . . . 1 . . . 0 . . . . . 1 . . . . . . 1 4 24 2 1 7 13 . . . . . . 2 . . . 1 3 15 . . . 2 . . . . . . 0 . . 3 0 . . . . . . . . 3 . . . 1 4 19 . . . 3 . . . . . . 1 7 11 Number of cases read: 9 Number of cases listed: 9 Most people would find that easier to use >Is there a way to do it through syntax? I tried playing around with >the >Restructure Wizard but it did not seem to have such capability. >Any help would be greatly appreciated. Thanks a lot. >Bozena > >Bozena Zdaniuk, Ph.D. > >University of Pittsburgh > >UCSUR, 6th Fl. > >121 University Place > >Pittsburgh, PA 15260 > >Ph.: 412-624-5736 > >Fax: 412-624-4810 > >email: [hidden email] > > > >-- >No virus found in this incoming message. >Checked by AVG Anti-Virus. >Version: 7.1.394 / Virus Database: 268.9.0/368 - Release Date: >6/16/2006 |
Free forum by Nabble | Edit this page |