How to use fillmissing function within a group ?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Namrata Goswami
le 11 Déc 2020
Commenté : Namrata Goswami
le 14 Déc 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 commentaires
Réponse acceptée
dpb
le 11 Déc 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
>>
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur String Parsing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!