Filling in missing points
54 ビュー (過去 30 日間)
表示 古いコメント
Hi, all. I have a quesion about filling missing points.
I need to fill in the missing points according to these rules:
- If there’s only one missing point, with valid data present on both sides of that point, the missing point shall be assigned the average of the two known data-points either side of it.
- If there are multiple, consecutive data-points missing, the closest known data point will be assigned to those missing values.
I have finished the first rule, but I don't know how to deal with second rule.

0 件のコメント
回答 (1 件)
Andrei Bobrov
2020 年 3 月 30 日
編集済み: Andrei Bobrov
2020 年 3 月 30 日
In R2016b:
T = readtable('weather_laverton.xlsx','Sheet',1);
TT = table2timetable(T);
TTout = fillmissing(TT,'linear');
Add
T = readtable('weather_laverton.xlsx','Sheet',1);
TT = table2timetable(T);
A = varfun(@f1,TT);
function out = f1(x)
b1 = fillmissing(x,'linear');
b2 = fillmissing(x,'nearest');
d = [0;diff(bwdist(~isnan(x)),2);0]==-2;
out = b2;
out(d) = b1(d);
end
参考
カテゴリ
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!