How to delete columns from something that isn't a matrix
3 views (last 30 days)
Show older comments
William Campbell
on 15 Jan 2019
Edited: madhan ravi
on 15 Jan 2019
I've got some data that I need columns deleting from, specificially 3,4,5,9,10,12,13,14 but whenever I try the following code, with data set A, I get the answer "Deletion requires an existing variable."
A(:,[3 4 5 9 10 12 13 14])=[];
Is this because my data is not technically a matrix?
Below is some of my data
2018-01-01T00:00 273.450 2.350 -999.000 -999.000 -999.000 -999.000 -999.000 -1.000 -999.000 -999.000 0.000 -999.000 -999.000 -999.000
2018-01-01T01:00 273.250 1.570 -999.000 -999.000 -999.000 -999.000 -999.000 -1.000 -999.000 -999.000 0.000 -999.000 -999.000 -999.000
2018-01-01T02:00 273.350 0.510 -999.000 -999.000 -999.000 -999.000 -999.000 -1.000 -999.000 -999.000 0.000 -999.000 -999.000 -999.000
2018-01-01T03:00 273.250 1.420 -999.000 -999.000 -999.000 -999.000 -999.000 -1.000 -999.000 -999.000 0.000 -999.000 -999.000 -999.000
2018-01-01T04:00 273.350 0.140 -999.000 -999.000 -999.000 -999.000 -999.000 -1.000 -999.000 -999.000 0.000 -999.000 -999.000 -999.000
2018-01-01T05:00 275.550 0.700 -999.000 -999.000 -999.000 -999.000 -999.000 -1.000 -999.000 -999.000 0.000 -999.000 -999.000 -999.000
Thanks!
2 Comments
Adam
on 15 Jan 2019
What does
whos
show when run on command line? The text of the error message suggests that A does not exist at all rather than anything to do with what type of variable it is.
Accepted Answer
madhan ravi
on 15 Jan 2019
Edited: madhan ravi
on 15 Jan 2019
EDITED
T=readtable('sample.txt'); % your filename
T(:,[3 4 5 9 10 12 13 14])=[]
Gives:
T =
6×7 table
Var1 Var2 Var6 Var7 Var8 Var11 Var15
__________________ ______ ____ ____ ____ _____ _____
'2018-01-01T00:00' 273.45 -999 -999 -999 -999 -999
'2018-01-01T01:00' 273.25 -999 -999 -999 -999 -999
'2018-01-01T02:00' 273.35 -999 -999 -999 -999 -999
'2018-01-01T03:00' 273.25 -999 -999 -999 -999 -999
'2018-01-01T04:00' 273.35 -999 -999 -999 -999 -999
'2018-01-01T05:00' 275.55 -999 -999 -999 -999 -999
Note: Download the attached document and try my code.
12 Comments
madhan ravi
on 15 Jan 2019
Edited: madhan ravi
on 15 Jan 2019
T=readtable('sample.txt'); % your rawdata filename
T(:,[3 4 5 9 10 12 13 14])=[];
T.Var1=datetime(T.Var1,'Format','yyyy-MM-dd''T''mm:ss')
writetable(T,'sample1.txt','Delimiter',' ','WriteVariableNames',0) % I don't see any strings around date
More Answers (0)
See Also
Categories
Find more on Logical 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!