How to split column of a table?

7 views (last 30 days)
Mohamed Nedal
Mohamed Nedal on 19 Dec 2019
Commented: Adam Danz on 20 Dec 2019
Hello everyone,
I want to split a multi-column of a table into several columns and I tried to use
newtable = splitvars(tbl);
% or
newtable = splitvars(tbl, 'Multico');
But I got this error
Undefined function or variable 'splitvars'.
Could you suggest an alternative to this method?
I'm using MATLAB R2017b.
Many thanks,
  4 Comments
Adam Danz
Adam Danz on 19 Dec 2019
Could you explain in more detail what the inputs and expected outputs would be? Maybe provide an example.
Mohamed Nedal
Mohamed Nedal on 19 Dec 2019
Please check the attached file.
It contains a table with 2 main columns, the first one is datetime and the second one should be splitted into 11 columns.

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 19 Dec 2019
Edited: Adam Danz on 19 Dec 2019
T = [omni(:,1), array2table(omni.Var2)];
% Specify VariableNames if you wish
% T = [omni(:,1), array2table(omni.Var2,'VariableNames',{. . .})];
Results
head(T) % show first few rows
ans =
8×12 table
omni_datetime Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8 Var9 Var10 Var11
____________________ ____ ____ ____ ____ _____ ____ ____ _____ ____ _____ _____
01-Jan-2013 00:00:00 2.4 2.2 -0.6 -0.4 44561 1.6 358 0.054 0.42 2 4
01-Jan-2013 01:00:00 2.5 1.8 -1.4 -0.5 37181 2.1 355 0.046 0.52 2.31 4
01-Jan-2013 02:00:00 2.8 2.2 -1.6 -0.4 28131 1.8 359 0.033 0.44 1.49 3
01-Jan-2013 03:00:00 3 2.8 -1.1 0 24936 1.9 352 0.032 0.44 1.35 2
01-Jan-2013 04:00:00 3 2.5 -1.6 0.4 23930 2 351 0.033 0.47 1.41 1
01-Jan-2013 05:00:00 3.1 2.5 -1.4 0.8 22626 2.1 349 0.036 0.49 1.37 3
01-Jan-2013 06:00:00 3 2.6 -1.3 0.8 23016 2.2 343 0.038 0.5 1.54 1
01-Jan-2013 07:00:00 3 2.4 -1.8 0.6 24192 2.3 341 0.038 0.51 1.62 0
  11 Comments
Mohamed Nedal
Mohamed Nedal on 20 Dec 2019
I tried to include an AM PM in the input but still the same. Maybe it's a glitch in my matlab version. I will do it in excel.
Thank you!
Adam Danz
Adam Danz on 20 Dec 2019
The AM/PM needs to be specified in the actual time-values.
t_final = {
'00:24:05 AM'
'10:36:05 AM'
. . .
};

Sign in to comment.

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!