使用 R,我试图从包含多个时间序列的数据帧的开头和结尾修剪 NA 值。我已经使用 for 循环和 zoo 包实现了我的目标,但正如预期的那样,它在大型数据帧上效率极低。
我的数据框看起来像这样,包含 3 列,每个时间序列由它的唯一 ID 标识。在这种情况下,AAA、B 和 CCC。
id date value
AAA 2010/01/01 NA
AAA 2010/02/01 34
AAA 2010/03/01 35
AAA 2010/04/01 30
AAA 2010/05/01 NA
AAA 2010/06/01 28
B 2010/01/01 NA
B 2010/02/01 0
B 2010/03/01 1
B 2010/04/01 2
B 2010/05/01 3
B 2010/06/01 NA
B 2010/07/01 NA
B 2010/07/01 NA
CCC 2010/01/01 0
CCC 2010/02/01 400
CCC 2010/03/01 300
CCC 2010/04/01 200
CCC 2010/05/01 NA
我想知道,如何有效地从每个时间序列的开始和结束删除 NA 值,在这种情况下为 AAA、B 和 CCC。所以它应该看起来像这样。
id date value
AAA 2010/02/01 34
AAA 2010/03/01 35
AAA 2010/04/01 30
AAA 2010/05/01 NA
AAA 2010/06/01 28
B 2010/02/01 0
B 2010/03/01 1
B 2010/04/01 2
B 2010/05/01 3
CCC 2010/01/01 0
CCC 2010/02/01 400
CCC 2010/03/01 300
CCC 2010/04/01 200