Эффективное удаление пропущенных значений из начала и конца нескольких временных рядов в 1 фрейме данных.

Используя R, я пытаюсь обрезать значения NA с начала и конца фрейма данных, содержащего несколько временных рядов. . Я достиг своей цели, используя цикл for и пакет zoo, но, как и ожидалось, он крайне неэффективен для больших кадров данных.

Мой фрейм данных выглядит следующим образом и содержит 3 столбца, каждый временной ряд идентифицируется своим уникальным идентификатором. В данном случае 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
6
задан Brian Tompsett - 汤莱恩 4 December 2015 в 16:05
поделиться