External Email - Use Caution
I apologize for resending all of this info, but my email is acting up and every time I try to respond to the other email, my Outlook freezes.
Here is info from our thread. I modified it to include the analysis in which I found significant clusters (i.e., looking at thickness with only age and sex as covariates and not ICV):
After running the permutation and finding significant clusters, I am trying to calculate the value for each participant for these significant clusters.
The perm.th30.abs.y.ocn.dat contain the raw values, and I am trying to get the adjusted values accounting for age and sex (this is a three group design).
The X matrix was 240x12 (see attached file)
* Column 1: 1s for Group 1 and 0s for Group 2 and 0s for Group 3
* Column 2: 0s for Group 1 and 1s for Group 2 and 0s for Group 3
* Column 3: 0s for Group 1 and 0s for Group 2 and 1s for Group 3
* Column 4: Age for Group 1 and 0s for Group 2 and 0s for Group 3
* Column 5: 0s for Group 1 and Age for Group 2 and 0s for Group 3
* Column 6: 0s for Group 1 and 0s for Group 2 and Age for Group 3
* Column 7: Sex for Group 1 and 0s for Group 2 and 0s for Group 3
* Column 8: 0s for Group 1 and Sex for Group 2 and 0s for Group 3
* Column 9: 0s for Group 1 and 0s for Group 2 and Sex for Group 3
Your code:
There is not an easy way to do it, but you can do it in matlab
cd glmdir
X = load('Xg.dat');
y = load('perm.th30.abs.y.ocn.dat');
beta = inv(X'*X)*X'*y;
yhat = X(:,[1 2 3]*beta([1 2 3])
When running your code, below are the errors I got in Matlab. Do you know how I can fix the code?
>> X = load('Xg.dat');
>> y = load('perm.th30.abs.y.ocn.dat');
>> y = load('perm.th30.abs.y.ocn.dat');
>> beta = inv(X'*X)*X'*y;
>> yhat = X(:,[1 2 3]*beta([1 2 3])
yhat = X(:,[1 2 3]*beta([1 2 3])
↑
Error: Invalid expression. When calling a function
or indexing a variable, use parentheses. Otherwise,
check for mismatched delimiters.
Did you mean:
>> yhat = X(:,[1 2 3]*beta([1 2 3]))
Error using *
Incorrect dimensions for matrix multiplication.
Check that the number of columns in the first matrix
matches the number of rows in the second matrix. To
perform elementwise multiplication, use '.*'.
>> yhat = X(:,[1 2 3].*beta([1 2 3]))
Index in position 2 is invalid. Array indices must
be positive integers or logical values.
---
Jessica Hua, M.A.
Cognitive and Emotional Control Lab
Doctoral Candidate Clinical Psychology
University of Missouri