Daily mean of a hourly dataset

7 visualizaciones (últimos 30 días)
Murielle van Pampus
Murielle van Pampus el 6 de En. de 2022
Comentada: Simon Chan el 6 de En. de 2022
Hi,
To determine the annual daily maximum of a dataset, as attached by this question I have to convert my data. My data set is as follows:
[Year, Month, Day, Hour, info1, info2,info3,....] and is a txt-file.
To combine the different time info, I used the function datetime, as this would transfer the four columns into one Time-column. But as I try, the error "All input arguments must be tables" appears. Therefore, I was wondering what I'm doing wrong in my code.
Secondly, I would like to average my data over the days, so I get one data point for every day. As if I have the average of every day, I need to determine the yearly maximum, which I tried with the retime-function.
Can someone help me with what I am doing wrong?
clear; clc; close all;
filename = 'data_1991_2020_edited.txt';
delimiterIn = ' ';
headerlinesIn = 1;
Data = importdata(filename,delimiterIn,headerlinesIn);
%[A,delimiterOut]=importdata(filename)
Data1 = readtable(filename);
% Create datetime array
time_dep = datetime([Data1(:,1),Data1(:,2),Data1(:,3),Data1(:,4),zeros(size(Data1,1),1),zeros(size(Data1,1),1)]);
%TData = timetable(Times, Data1(:,6));
%YrMean = retime(TData, 'yearly', 'max'); % Yearly Maximum
%Max = [YrMean.Times.Year YrMean.Var1]

Respuesta aceptada

Simon Chan
Simon Chan el 6 de En. de 2022
Editada: Simon Chan el 6 de En. de 2022
Try the following:
filename = 'data_2001_2010.txt';
Data1 = readtable(filename,'VariableNamingRule','preserve');
Data1(:,1)=[]; % Remove the 1st column
Data1.YYYYMMDD=datetime(string(Data1.YYYYMMDD),'InputFormat','yyyyMMdd'); % Convert to datetime format
Gmean=groupsummary(Data1,"YYYYMMDD",'day',"mean"); % Calculate daily mean
  10 comentarios
Murielle van Pampus
Murielle van Pampus el 6 de En. de 2022
Would you also know how to remove duplicates if the max value occured multiple times in a year. So for example the value of FH of 180 ocured 5 times in december. Currently it gives 5 values of 180 for 2020. Is there a argument to remove duplicates?
Simon Chan
Simon Chan el 6 de En. de 2022
You need to state the criteria to remove duplicates since the values on other columns are different.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by