R 加注NAs NOCB(下一次观察向后进行)
我的数据是从KDB数据库查询返回的,以列表的形式出现 如果我是str(myData) 我面临的问题是,前20个左右的回报是NaN,输出中可能还有更多NaN 如果我们的列表是这样的,我想用第一行中没有NaN的结果替换NaNR 加注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
[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)