Splitting date in a table into different columns

Hi all,
I'm using the 2019b version of Matlab and I'm currently handling a large dataset in a .csv format, which looks like this:
Date Latitude Longitude Period
01/01/1980 23.9 57.3 2.32
01/01/1980 23.9 57.4 2.37
01/01/1980 24 57.3 2.54
01/01/1980 24 57.4 2.77
01/02/1980 23.9 57.3 2.18
01/02/1980 23.9 57.4 2.45
01/02/1980 24 57.3 2.98
01/02/1980 24 57.4 2.66
I've loaded it using readtable, which works just fine:
T=readtable(MyFile);
date=T(:,1);
I need to split the date into separate columns containing the day, month and year respectively, as later I'm planning to do group averaging of the data (i.e. calculate mean values of Period for different months, years and locations). I've tried:
a=datetime(date,'InputFormat','dd/MM/yyyy');
but I get the error message:
Error using datetime (line 659)
Input data must be a numeric array, a string array, a cell array containing character vectors, or a char matrix.
I'm not sure how to resolve it. Any help on this matter would be much appreciated!
Maja

1 comentario

You used the wrong kind of brackets. Instead of parentheses (which returns a table):
date=T(:,1);
you need to use curly braces (which returns whatever data type that column has):
date=T{:,1};

Iniciar sesión para comentar.

 Respuesta aceptada

Más respuestas (0)

Categorías

Preguntada:

el 1 de Oct. de 2020

Editada:

el 31 de Mayo de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by