How to find a gap in a table

8 ビュー (過去 30 日間)
Carolina
Carolina 2023 年 2 月 5 日
コメント済み: Image Analyst 2023 年 2 月 5 日
Hi. I am doing a project and need to analyze a long series of data. In this data I have dates and times, however I need to find the rows of missing times and delete the next data, I will explain with an example.
Date Hour
10-02-2013 00:00
10-02-2013 01:00
10-02-2013 02:00
10-02-2013 03:00
10-02-2013 05:00
10-02-2013 06:00
10-02-2013 07:00
I have hours from 00 to 23. In this case, for example, the hour relative to 4 a.m. is missing, how do I identify these gaps over several columns and delete the next record?
  1 件のコメント
the cyclist
the cyclist 2023 年 2 月 5 日
The difficult part of this is probably not the MATLAB coding; it's defining the exact rule to be used to identify the gaps. (I don't mean the coding of the rule, just the explanation of the exact rule.)
Can upload the data (or a representative subset), and tell us the exact rule?

サインインしてコメントする。

回答 (1 件)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023 年 2 月 5 日
If understood your qyestion correctly, you are trying to remove the rows of data in any row there is a missing data. If so, use:
ismissing() or isnan(), and assign those row to [ ]. E.g.:
D = readtable('D_tab.txt'); % Sample data is attached
D(ismissing(D{:,2}),:)=[]
  1 件のコメント
Image Analyst
Image Analyst 2023 年 2 月 5 日
In his example 4:00 was not even in the table at all, so ismissing won't detect it. I think you need to use diff

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by