# MATLAB: How to apply conditional statements so as to select certain rows or columns on a given dataset.

conditional statementsdataset

How do I apply conditional statements so as to select certain rows or columns on a given dataset (like the one below)? For example, I would like to (1) display records with r only , (2) count records with + only .
Please note that the example of the data to be analyzed is given below. The data is separated by space. The data has 12 columns whose headings are; Event, time, from_Node, to_Node, Packet_Type, Packet_Size, Flags, Fid, Source_Address, Destination_Address, Sequence_Number and Packet_Id .
For example, + 0.155355 1 3 tcp 1500 ——- 0 0.0 3.0 2 3;
+ is an event,
0.155355 is time in secs,
1 is from_Node,
3 is to_Node,
tcp is Packet_Type, 1500 is Packet_Size,
 ------- are Flags,
0 is Fid,
2 is Sequence_Number and
3 is Packet_Id.
_ _This is the data _
+ 0.155355 1 3 tcp 1500 ——- 0 0.0 3.0 2 3
– 0.160955 1 3 tcp 1500 ——- 0 0.0 3.0 2 3
r 0.170955 1 3 tcp 1500 ——- 0 0.0 3.0 1 2
r 0.178955 1 3 tcp 1500 ——- 0 0.0 3.0 2 3
+ 0.203632 1 3 tcp 1500 ——- 0 0.0 3.0 3 6
– 0.203632 1 3 tcp 1500 ——- 0 0.0 3.0 3 6
+ 0.206032 1 3 tcp 1500 ——- 0 0.0 3.0 4 7
+ 0.211632 1 3 tcp 1500 ——- 0 0.0 3.0 5 8
Thank you

 content = fileread( 'myData.txt' ) ; nPlus   = sum( content == '+' ) ; rRows   = regexp( content, '(?<=(^|\n)r )[^\r\n]*', 'match' ) ;
 >> nPlus nPlus =         4
 >> fprintf( '%s\n', rRows{:} ) ;    0.170955 1 3 tcp 1500 ------- 0 0.0 3.0 1 2    0.178955 1 3 tcp 1500 ------- 0 0.0 3.0 2 3