average selected columns with labels

hello all,
I have the attached data. It shows a part of my data. I need to average selected coumns in red only. I need to tell matlab that average electrodes such as ChFP1, ChF7, ChF3, and ChFT7, across subjects and write the resluts in one column at the end of data. How should I do that? I wrote this so far. Thank you in advance. I tried to creat a logical index but could not with a cell array.
if exist(fileName,'file')
[num,str]=xlsread(fileName); %read both str and data
ch_lables=(str(1,:)); %electrode lables, cell array
sub_names=str(:,1); %subjects names, cell array
end

2 个评论

Hi,
if you know where are red numbers, try this
a=num(:,4)
b=num(:,7)
c=num(:,11)
d=num(:,12)
A=[a;b;c;d]
[n,m]=size(A)
for i=1:1:n
s(i)=a(i)+b(i)+c(i)+d(i)
avrg=s(i)/4
fprintf(fileName(:,15),'%.4f\n',avrg)
end
I wish that this will help you and good luck.
Thank you,
No, the order of labes is different in each file, so I need to average across lables of channels that are the same in all files, I need to average ChFP1, ChF7, ChF3, ChFT7, ChFC3) and other combination of electrod lables.
I appreicipate your help.
Zahra

请先登录,再进行评论。

 采纳的回答

Use readtable. This is suggested now.
T = readtable(filename) ;
mean_ChF7 = mean(T.ChF7)

6 个评论

Thank you for your reply.
In fact, I need to do this, but it did not work.
T = readtable(fileName) ;
mean_LA = mean(T.ChFP1,T.ChF7,T.ChF3,T.ChFT7,T.ChFC3);
Zahra
mean_LA = [mean(T.ChFP1) mean(T.ChF7) mean(T.ChF3) mean(T.ChFT7) mean(T.ChFC3)];
OR
mean_LA = mean([T.ChFP1 T.ChF7 T.ChF3 T.ChFT7 T.ChFC3]);
The problem with these two lines is that they give me 5 values, one for each channel. In fact, I need 22 values one for each participant for these 5 channels. in other words, I need to average across the rows and not across columns.
Please see the attached file.
Zahra
mean_LA = mean([T.ChFP1 T.ChF7 T.ChF3 T.ChFT7 T.ChFC3],2);
OP commented: It works. Thank you so much. What is 2 for?
2 stands for mean along each row..this what you wanted. DEfault is 1, which is mean along each column.
NOTE: You have to accept/ vote the answer which worked for you. Not that you comment and accept that. :)

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

产品

版本

R2019a

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by