MATLAB Answers

Select value from the list by defining criteria

6 views (last 30 days)
Shiba Subedi
Shiba Subedi on 30 Sep 2019
Commented: Adam Danz on 2 Oct 2019
Dear All,
I have a big dataset with the format,
1 2019-09-25 19:33:00 27.7100 86.3200 10 291.122 4.00 1.79 R023E
1 2019-09-25 19:33:00 27.7100 86.3200 10 197.274 4.00 4.44 S8618
1 2019-09-25 19:33:00 27.7100 86.3200 10 170.200 4.00 4.14 RA5AB
I would like to have new set of data
(i) If column 10 has always valule R023E
(ii) If column 7 > 30.00
what is the solution?

  0 Comments

Sign in to comment.

Accepted Answer

Bob Thompson
Bob Thompson on 30 Sep 2019
I would use readtable to import the data, the logic indexing to narrow down the results.
data = readtable('mydata.xlsx');
reducedata = data(data(:,10) == 'R023E' & data(:,7) > 30,:);

  7 Comments

Show 4 older comments
Adam Danz
Adam Danz on 2 Oct 2019
Use dot indexing when working with columns from a table, not subscript indexing in curly brackets.
Could you share the result of the line below?
head(data) % data is the output from readtable
Bob Thompson
Bob Thompson on 2 Oct 2019
I would agree that dot indexing is more efficient, but I assumed that variable names were inconsistent or unknown.
Adam Danz
Adam Danz on 2 Oct 2019
That's a good point. However, the variable names can be set in readtable() or after the table is created. If it is known that the data in column #7 is needed, they can name that column anything they want.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!