R 加注NAs NOCB(下一次观察向后进行)

R 加注NAs NOCB(下一次观察向后进行),r,R,我的数据是从KDB数据库查询返回的,以列表的形式出现 如果我是str(myData) 我面临的问题是,前20个左右的回报是NaN,输出中可能还有更多NaN 如果我们的列表是这样的,我想用第一行中没有NaN的结果替换NaN [1] [2] [3] [4] [5] [6] [7] 09:30 Nan Nan Nan Nan Nan Nan 09:31 Nan Nan N

我的数据是从KDB数据库查询返回的,以列表的形式出现 如果我是str(myData)

我面临的问题是,前20个左右的回报是NaN,输出中可能还有更多NaN

如果我们的列表是这样的,我想用第一行中没有NaN的结果替换NaN

[1]     [2]           [3]    [4]   [5]     [6]    [7]
09:30   Nan           Nan    Nan   Nan     Nan    Nan 
09:31   Nan           Nan    Nan   Nan     Nan    Nan 
09:32   2013:01:01    ABC    100   50      101    35 
09:33   2013:01:01    ABC    100   50      102    60
09:34   Nan           Nan    Nan   Nan     Nan    Nan 
09:35   2013:01:01    ABC    99   40      101    50


This would come out as follows:
[1]     [2]           [3]    [4]   [5]     [6]    [7]
09:30   2013:01:01    ABC    100   50      101    35 
09:31   2013:01:0     ABC    100   50      101    35 
09:32   2013:01:01    ABC    100   50      101    35 
09:33   2013:01:01    ABC    100   50      102    60
09:34   2013:01:01    ABC    99   40       101    50 
09:35   2013:01:01    ABC    99   40       101    50
也就是说,Nan'a被同一列(列表)中的下一个有效条目替换。

您可以使用和:


d使用
zoo::na.locf

## if your data is in a data frame you can do it like this 
your_data = zoo::na.locf(your_data, fromLast = TRUE)

## if your data is a list, do this
your_data = lapply(your_data, zoo::na.locf, fromLast = TRUE)
## if your data is in a data frame you can do it like this 
your_data = zoo::na.locf(your_data, fromLast = TRUE)

## if your data is a list, do this
your_data = lapply(your_data, zoo::na.locf, fromLast = TRUE)