MATLAB Answers

Group and individual means

4 views (last 30 days)
Liz Mat
Liz Mat on 9 Jul 2019
Commented: Liz Mat on 12 Jul 2019
I have a dataset of kinematic angular values. Each row representing 100 datapoints of angular data (Y). I have a column vector containing my subject numbers (1-9) and another column vector indicating three different conditions (A).
I am able to calculate the group mean for each
YS1 = Y(Sub==1)
SubMean = mean (Y1S)
(All conditions, 1 subject)
Same for condition mean
YA1 = Y(A==1)
SubMean = mean (YA1)
(All subjects, 1 condition)
How can I combine it to to get the mean for 1 subject AND 1 condition - Thus (Sub==1) AND (A==1)


Sign in to comment.

Accepted Answer

per isakson
per isakson on 9 Jul 2019
Try this
YSA1 = Y(Sub==1&A==1);
SubMean = mean (YSA1);


Liz Mat
Liz Mat on 9 Jul 2019
Thanks for the quick response
This is the error I get:
YSA1 = Y(SUBJ==1,: & A==32,:);
Error: Invalid use of operator.
When I try:
YSA1 = Y(SUBJ==1,:) && Y(A==32,:);
I get the error:
Operands to the || and && operators must be convertible to logical scalar values.
My variables are:
SUBJ = 135x1
A = 135x1
Y = 135x101
per isakson
per isakson on 10 Jul 2019
YSA1 = Y(SUBJ==1,: & A==32,:);
YSA1 = Y( SUBJ==1 & A==32 );
i.e. remove the commas and the colons. See my answer
Liz Mat
Liz Mat on 12 Jul 2019
Thank you!

Sign in to comment.

More Answers (1)

Liz Mat
Liz Mat on 10 Jul 2019
I managed to get it working:
SA1 = (Sub==1)&(A==1);
YSA1 = Y(SA1,:);
SubMean = mean (YSA1);
It might be bit lengthy though.

  1 Comment

per isakson
per isakson on 10 Jul 2019
The parentheses in SA1 = (Sub==1)&(A==1); are not needed.

Sign in to comment.