How do I calculate the mean value for the days in a big data set?
2 views (last 30 days)
Show older comments
Hi I have a big data set 46933x12 and the data is collected every 5 minuets and the dates looks like
2014-01-01 00:00:00
2014-01-01 00:05:00
2014-01-01 00:10:00
... I want to have mean values for each of the 11 columes. How do i do this?
6 Comments
Andrei Bobrov
on 4 May 2017
Edited: Andrei Bobrov
on 4 May 2017
Please attach small example of your data file.
Accepted Answer
KL
on 4 May 2017
Here is a sample code with 3 variables and 5 days with uniform 5 minute timestep
a = rand(288*5,3);
t = (1:288:288*6)';
amean = zeros(5,3);
for i=1:length(t)-1
amean(i,:) = mean(a(t(i):t(i+1)-1,:));
end
0 Comments
More Answers (2)
Andrei Bobrov
on 4 May 2017
Edited: Andrei Bobrov
on 4 May 2017
T = table2timetable(readtable('Test.Dataset.xls','ReadVariableNames',false));
out = retime(T,'daily','mean');
or for MATLAB <= R2016a
T = readtable('Test.Dataset.xls','ReadVariableNames',false);
[a,b,c] = datevec(T.Var1);
[dv,~,t] = unique([a,b,c],'rows');
[x,y] = ndgrid(t,1:size(T,2)-1);
out1 = [dv,accumarray([x(:),y(:)],reshape(T{:,2:end},[],1),[],@mean)];
Baptiste Ranguetat
on 4 May 2017
meanData = zeros(1,11);
for i=1:11
meanData(i) = mean(data(:,i));
end
0 Comments
See Also
Categories
Find more on Data Import from MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!