How to use fillmissing function within a group ?
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Namrata Goswami
am 11 Dez. 2020
Kommentiert: Namrata Goswami
am 14 Dez. 2020
I have a table where multiple columns have NaN and I want the NaN to be replaced by the previous valid value in the column, within the group(by ID.
T =
ID amount1 amount2
15 200 300
15 NaN 800
15 NaN NaN
67 NaN 300
67 400 700
67 NaN NaN
Expected output:
ID amount1 amount2
15 200 300
15 200 800
15 200 800
67 NaN 300
67 400 700
67 400 700
I am able to achieve this partially using fillmissing function as:
Tupdated = fillmissing(T,'previous');
But I want to implement this within group (by ID). I am unable to use fillmissing with splitapply correctly.
0 Kommentare
Akzeptierte Antwort
dpb
am 11 Dez. 2020
>> varfun(@(x) fillmissing(x,'previous'),T,'groupingvariables',{'ID'},'InputVariables',{'amount1','amount2'})
ans =
6×4 table
ID GroupCount Fun_amount1 Fun_amount2
__ __________ ___________ ___________
15 3 200 300
15 3 200 800
15 3 200 800
67 3 NaN 300
67 3 400 700
67 3 400 700
>>
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu NaNs finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!