3dlmer bounds error "checkForRemoteErrors(val) "

Hello,

I am trying to rerun my 3dlmer models with the bounds inclusion to make sure my results were not influenced by outliers, but I’m receiving the following error:

Here is the top of my script. Only edit is the “bounds” line


3dLMEr -prefix rec_3dLMEr_age2c_bounds -jobs 28 \
 -model 'Rec*age_c+Rec*age2_c+(age_c|Subj)' \
 -qVars "age_c,age2_c" \
 -qVarCenters "0,0" \
 [b]-bounds -2 2 \[/b]


...
Loading required package: snow
Package snow loaded successfully!

Z slice # 1 done:  02/10/21 08:34:33.961
Z slice # 2 done:  02/10/21 08:34:34.873
Z slice # 3 done:  02/10/21 08:34:35.889
Z slice # 4 done:  02/10/21 08:34:36.682
Z slice # 5 done:  02/10/21 08:34:37.530
Error in checkForRemoteErrors(val) :
  one node produced an error: missing value where TRUE/FALSE needed
Calls: aperm ... clusterApply -> staticClusterApply -> checkForRemoteErrors
Execution halted

The script works without bounds included. Any tips would be greatly appreciated because I’d like to compare models.

Thanks!

Without access to the data, I’m not so sure what happened. One possibility is that at one voxel all the voxels are outside of [-2, 2]. Maybe try “'-bounds -3 3”?

This is probably a dumb question, but are the units of the -bounds option the same as the input data? or are these in standard deviation? If not in SD is there a principled way to define the boundaries?

Yes, the bounds correspond to the units used in the input files. It's advisable to choose these boundary values thoughtfully, considering the specific context. For example, in an event-related experiment where percent signal change is measured, a range of -2 to 2 could be reasonable, as it's unlikely to anticipate BOLD responses exceeding this range.

Gang Chen

Thank you!

To plot the raw data, we'd need to ignore the same voxels. I usually use 3dROIstats to pull cluster means for each participant. Is there a way to implement this same approach through 3dROIstats so the proper mean is calculated?

If not, I presume I could set the outlier voxels to zero using 3dcalc then take the nzmean 3dROIstats?

Thanks again,
Andrew

Hi Andrew,

I presume I could set the outlier voxels to zero using 3dcalc then take the nzmean 3dROIstats?

Using 3dROIstats with the -nzmean option does appear to be a good approach if you want to remove outliers.

Gang Chen