ffill!

Syntax

ffill!(obj, [limit])

Details

If obj is a vector, forward fill the null values in obj with the previous non-null value.

If obj is a matrix or a table, forward fill the null values in each column of obj with the previous non-null value.

Note:
The only difference between ffill and ffill! is that the latter assigns the result to obj and thus changing the value of obj after the execution.

Parameters

obj is a vector/matrix/table.

limit is a positive integer that specifies the number of null values to forward fill for each block of null values.

Returns

It returns an object after filling null values, with the same type and form as obj.

Examples

Example 1

x=1 2 3 NULL NULL NULL 4 5 6
x.ffill!(); 
x; 
// The value of x is changed. 
// output: [1,2,3,3,3,3,4,5,6]

Example 2: Specify parameter limit = 1. The first null value is filled.

x=1 2 3 NULL NULL NULL 4 5 6
x.ffill!(1);
// output: [1,2,3,3,,,4,5,6]

Example 3: Specify obj as a table.

date=[2012.06.12,2012.06.12,2012.06.13,2012.06.14,2012.06.15]
sym=["IBM","MSFT","IBM","MSFT","MSFT"]
price=[40.56,26.56,,,50.76]
qty=[2200,4500,,5600,]
timestamp=[09:34:07,09:35:26,09:36:42,09:36:51,09:36:59]
t=table(date,timestamp,sym,price,qty);
ffill!(t); 
t;
date timestamp sym price qty
2012.06.12 09:34:07 IBM 40.56 2200
2012.06.12 09:35:26 MSFT 26.56 4500
2012.06.13 09:36:42 IBM 26.56 4500
2012.06.14 09:36:51 MSFT 26.56 5600
2012.06.15 09:36:59 MSFT 50.76 5600