GIMME vs. S-GIMME and the 25 participant minimum

63 views
Skip to first unread message

Henry Whitfield

unread,
Feb 20, 2024, 6:08:13 PM2/20/24
to gimme-r
Hello gimme-r,

I've run a psychedelic therapy naturalistic study comparing two treatments. Both post-psychedelic interventions are ACT-consistent but one has imaginal exposure to the psychedelic memory and related aversive events. 

We have 30 participants with enough data to run S-GIMME. I read in one paper that 25 participants were the minimum number. We found 2 subgroups with different green subgroup pathways. They phi correlate with treatment 0.550 (p=0.003) (95% CI - Lower (.019), Higher (0.85) Valid cases n=30.

The subgroups plot shows that the exceptions to the correlation are usually just over the border between subgroups, suggesting that subgroup plot shows two clear clusters that overlap.

To try and get a clearer view of how GIMME could be used to measure variation in psychological processes according to treatment, we decided to try a split GIMME (without subgroups) on each treatment group. One treatment group n=20 is twice the size of the other treatment group (n=10).

My principle question is whether this is a good move or not? Is the fact that both groups are now both less than 25 participants a problem?

I notice that the filtering of signal from noise is quite different without the subgroup level. Both group and individual models change on the same dataset.

GIMME (without subgroups) detected a group pathway for one treatment (n=10), and no group pattern for the other treatment group (n=20). So arguably this method does detect different effects. However these group patterns are very different from the n=30 S-GIMME group (thick black) pattern.

Is this still a meaningful way of differentiating treatment effects in the longitudinal GIMME data?

Many thanks,

Henry Whitfield



Katie Gates

unread,
Feb 23, 2024, 12:05:47 PM2/23/24
to gimme-r
Hi Henry, 

Good questions. 

From an analytic perspective splitting into n=20 and n=10 analyses is fine. In Gates & Molenaar 2012, we show that results are nearly identical in terms of correctly recovering paths with N=10 when compared to higher N. 

You're right that in some cases exploratory subgroups can improve results. When we have N = 25, we see that setting subgroup = TRUE helps improve recovery. This was in Lane et al., 2019. With smaller sample sizes than this it is possible that the subgroups will be ill-defined, and then it would follow that the subgroup-level paths may be spurious. 

The different patterns of group-level results is a bit concerning and not typically seen. This may be due to small sample sizes. It could mean that the a prior separation isn't the best way to categorize people, particularly if no paths were significant for 15/20 (75%) of them. So they evidence a high level of heterogeneity. 

If you do confirmatory subgroups, it might clean things up. Here, you will get the same group-level paths as the N = 30 analyses. Then, it searches for subgroup-specific paths in your predefined subgroups. This is the best way to compare exploratory vs confirmatory subgroups. A nice example of this is by Ethan McCormick and a tutorial is here

Are the low and high treatment groups you mentioned in the context of the exploratory subgroup results the same treatment groups used to do the a priori  N = 10 and N = 20 split? 

Katie

Henry Whitfield

unread,
Feb 26, 2024, 12:24:17 PM2/26/24
to gimme-r

Thanks so much Katie,

I can't wait to run this new analysis. 

The Ethan McCormick link is a link to a library that requites a log in.  Did you mean this one: https://dsnlab.web.unc.edu/wp-content/uploads/sites/12535/2019/02/McCormick-Gates-Telzer-2019.pdf ?

When you say low and high treatments do you just mean the two treatment groups? I don't understand what is low or high about them (you just mean 10=low 20=high?).  If so, yes, one treatment was n=10, the other n=20. 

Thanks again,

Henry

Henry Whitfield

unread,
Feb 26, 2024, 12:24:25 PM2/26/24
to gimme-r
Thanks again Katie,
Excuse my ignorance but I'm struggling to follow the data frame set up part of the tutorial. I have never used R before. I did manage to run the GIMME and S-GIMME.

In the tutorial I especially don't get this section: " A sample dataset can be found at https://github.com/kgates/gimme/blob/master/Example%20Data.zip. In this dataset, each separate file is for each individual/session, each variable is a column and the rows are the observations. Following setting up the GIMME directories and organizing one’s variable timeseries, to use CS-GIMME, one needs to create an additional data frame that contains the subgroup information. This data frame must contain two columns. The first column contains the names of each subject variable timeseries file, sans extension. For example, for our sample dataset, the first time series file is labeled ‘group_1_1.txt’, the correct labeling in the data frame would be ‘group_1_1’. The second column contains integer valued subgroup labels. A dataframe that contains the subgroup information for our sample dataset can be made using the following code: require("tools") #needed to get file names sans extension # get filenames in the folder without extension filename <- file_path_sans_ext(list.files(path = "t_120_n_25_v_5", full.names = FALSE)) # Create subgroup vector of subgroup assignments; one per person subgroup <- c(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2) # Create the dataframe confirm_dataframe <- data.frame(filename, subgroup)"

fAre these run as 3 separate commands? That's how I ran them.

For the second one I put subgroup <- c(1, I put 10 1's and 20 2's. Is this incorrect?

I don't see where the "columns" this refers to are. Are they created in a object in R? Or a file I have to create?

I'm guessing they might correspond with the two numbers in 'group_1_1' in the file name. I already changed the file names of the participants to "group_[participant number]_[1or 2 (depending on treatment)]. This mirrors the example data set but I'm not sure if it's correct. 

I attach an image of the code and errors that I put in and got out of R Studio. 

Any comments or advice on what I need to understand would be super appreciated. 

Many thanks,

Henry


On Friday 23 February 2024 at 17:05:47 UTC Katie Gates wrote:
R-CS GIMME error.png

Katie Gates

unread,
Feb 26, 2024, 12:30:51 PM2/26/24
to gimme-r
Hi Henry,

It looks like the error comes from the "filename" object. Can you check that "filename" is indeed a vector of file names? The error is saying this has zero rows. 

best, 
Katie
Reply all
Reply to author
Forward
0 new messages