How to use fillmissing function within a group ?
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Namrata Goswami
 el 11 de Dic. de 2020
  
    
    
    
    
    Comentada: Namrata Goswami
 el 14 de Dic. de 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 comentarios
Respuesta aceptada
  dpb
      
      
 el 11 de Dic. de 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    
>> 
Más respuestas (0)
Ver también
Categorías
				Más información sobre Tables 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!