how to convert data from minute to hourly average
4 views (last 30 days)
Show older comments
this is the extension of my file which needs to be converted.this is the sample data.there are individual files for each day consisting of 1440 rows and 4 columns.this file is to be read in matlab and processed for 4 years. i need to average the time and data i.e, first two columns of the given table.there are some missing data in which the data is missing but the time is recorded.any program can solve my data.thanks in advance
4 Comments
Accepted Answer
Andrei Bobrov
on 16 Mar 2018
dir1 = 'path_to_folder_with_your_txt_files';
f = dir(fullfile(dir1,'iisc*.txt'));
nm = {f.name}';
dt = datetime(regexp(nm,'\d{4}-\d{2}-\d{2}','match','once'));
TT = [];
for ii = 1:numel(dt)
T = readtable(fullfile(dir1,nm{ii}),'Format','%f%f%f%f','TreatAsEmpty','-');
Time1 = dt(ii) + hours(T.Var1);
TT = [TT;timetable(Time1,T.Var2,'v',{'data'})];
end
TTout = retime(TT,'hourly','mean');
TTout = TTout(~isnan(TTout.data),:);
7 Comments
More Answers (1)
KSSV
on 16 Mar 2018
YOu can load the text file using load or importdata. To egt hourly mean check the below example code.
t = 1:24*60 ; % time in minutes
A = rand(1,numel(t)); % some random data for 1440 minutes
% Arrange indices into hours
idx = reshape(1:24*60,60,[])' ;
% Arrange data into hours
A_hours = A(idx) ;
% GEt mean
A_hourly_mean = mean(A_hours,2) ;
2 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!