Extracting unique rows from cell array Matlab 2015a

3 visualizaciones (últimos 30 días)
neamah al-naffakh
neamah al-naffakh el 11 de Mzo. de 2022
Comentada: Jon el 14 de Mzo. de 2022
Hi,
I have dataset (different data types) that contains thousands of rows
[~,~,data] = xlsread('dataset.csv');
% Extracting particular columns into cell array
Selected_AIS_Data=(data(2:end,[1 2 3 4 6 9 10 18 19 ]));
% Remove NAN rows
Selected_AIS_Data(any(cellfun(@(x) any(isnan(x)),Selected_AIS_Data),2),:) = [];
Test=Selected_AIS_Data(1:10000,:);
% Converting all data type into String
charArr = cellfun(@num2str, Test, 'Un', 0 );
An example of the extracted dataset (i.e., Selected_AIS_Data)
DATE TIME (UTC) MMSI LATITUDE LONGITUDE NAME DESTINATION Estimated Arrival time
'01/01/2021 00:00:10' 720899000 25.7705000000000 -80.1694400000000 'AS SABRINA' 'USMIA' '01/12/1930 06:00:00'
'01/01/2021 00:00:16' 244561000 26.0891800000000 -80.1198700000000 'HOHEBANK' 'USPEF' '01/12/1931 12:40:00'
'01/01/2021 00:00:32' 720899000 25.7683600000000 -80.1644700000000 'BAYOU TECHE' 'MIAMI' '01/10/2023 15:00:00'
'01/01/2021 00:00:56' 244561000 25.7980300000000 -80.0949500000000 'VANQUISH' 'MIAMI ANCHORAGE' '01/12/2029 09:00:00'
'02/01/2021 00:01:00' 720899000 25.4700300000000 -79.8633800000000 'NAIYA' 'MIRAGOANE,HAITI' '01/12/2021 16:00:00'
'02/01/2021 00:01:01' 305134000 25.7971000000000 -80.2463300000000 'BELEN' 'USMIA' '01/12/2028 23:00:00'
'02/01/2021 00:01:11' 244561000 27.7856700000000 -79.9775400000000 'LOUISIANA' 'PORT CANAVERAL,FL' '01/12/1931 06:00:00'
'02/01/2021 00:01:16' 305134000 25.7983200000000 -80.2483700000000 'BIMINI CAT' 'MIAMI FLA US' '01/12/2027 15:30:00'
'02/01/2021 00:01:18' 305134000 26.0947400000000 -80.1219300000000 'OREGON' 'PT EVERGLADES, FL' '01/12/2027 19:00:00'
'03/01/2021 00:01:25' 305134000 26.0730400000000 -80.1178500000000 'FS IPANEMA' 'USPEV' '01/12/1931 06:00:00'
% when the MMSI is the same, I need to extract all relative information as showing bellow
% Expected output
DATE TIME (UTC) MMSI LATITUDE LONGITUDE NAME DESTINATION Estimated Arrival time
'01/01/2021 00:00:10' 720899000 25.7705000000000 -80.1694400000000 'AS SABRINA' 'USMIA' '01/12/1930 06:00:00'
'01/01/2021 00:00:16' 720899000 26.0891800000000 -80.1198700000000 'HOHEBANK' 'USPEF' '01/12/1931 12:40:00'
'02/01/2021 00:01:00' 720899000 25.4700300000000 -79.8633800000000 'NAIYA' 'MIRAGOANE,HAITI' '01/12/2021 16:00:00'
'01/01/2021 00:01:25' 244561000 26.0730400000000 -80.1178500000000 'FS IPANEMA' 'USPEV' '01/12/1931 06:00:00'
'01/01/2021 00:01:11' 244561000 27.7856700000000 -79.9775400000000 'LOUISIANA' 'PORT CANAVERAL,FL' '01/12/1931 06:00:00'
'02/01/2021 00:00:32' 244561000 25.7683600000000 -80.1644700000000 'BAYOU TECHE' 'MIAMI' '01/10/2023 15:00:00'
'01/01/2021 00:01:01' 305134000 25.7971000000000 -80.2463300000000 'BELEN' 'USMIA' '01/12/2028 23:00:00'
'01/01/2021 00:01:16' 305134000 25.7983200000000 -80.2483700000000 'BIMINI CAT' 'MIAMI FLA US' '01/12/2027 15:30:00'
'02/01/2021 00:00:56' 305134000 25.7980300000000 -80.0949500000000 'VANQUISH' 'MIAMI ANCHORAGE' '01/12/2029 09:00:00'
'03/01/2021 00:01:18' 305134000 26.0947400000000 -80.1219300000000 'OREGON' 'PT EVERGLADES, FL' '01/12/2027 19:00:00'

Respuesta aceptada

Jon
Jon el 11 de Mzo. de 2022
I'm not sure what you mean by 'unique" in your question title. In the example you give, it looks like you just want to sort the data according to MMSI and time. If this is the case, I would recommend first putting the data into a timetable and then use sortrows to sort according to the columns you want.
  2 comentarios
neamah al-naffakh
neamah al-naffakh el 11 de Mzo. de 2022
Dear @Jon
Thanks for your response.
the MMSI in the dataset looks like
636092826
305134000
636092826
244561000
720899000
636092826
305134000
636092826
636092826
305134000
As you could see in the above example, there are some repetivite values in the MMSI columns (e.g., 636092826 or 305134000). I need to have extract all realtive rows for these input .
Jon
Jon el 14 de Mzo. de 2022
You can probably make use of MATLAB's unique function to clean those up.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by