MATLAB Answers

Select value from the list by defining criteria

7 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 Nbob
Bob Nbob 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 Nbob
Bob Nbob 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)

Sign in to answer this question.