2016-11-09 2 views
0

Я объединил несколько временных рядов вместе, и мне нужно подмножить данные так, чтобы первая строка не имела НС. Ниже первой строки могут быть NA, даже во всей строке. Мне придется позаботиться о них через интерполяцию. Ниже приведен упрощенный пример данных:R - Удаление только одной части пустых строк объектов зоопарка

DF <- data.frame(x = c(NA, NA, 3, 2, 6, NA, 5), y = c(NA, NA, 24, 11, NA, NA, 8), z=c(NA, NA, NA, 33, 22, NA, 19)) 
date <- c("2001-03-30", "2001-03-31", "2001-04-01", "2001-04-02", "2001-04-03", "2001-04-04", "2001-04-05") 
DFz <- zoo(DF, order.by = date) 
DFz 
x y z 
2001-03-30 NA NA NA 
2001-03-31 NA NA NA 
2001-04-01 3 24 NA 
2001-04-02 2 11 33 
2001-04-03 6 NA 22 
2001-04-04 NA NA NA 
2001-04-05 5 8 19 

Я хотел бы получить новый зоопарк матрицы, начиная с первой строки, не имеющие Nas, (т.е. из четвертой строки в приведенном выше примере), в конечном счете Н.А. строки ниже первой строки должны остаться. Я хотел бы получить это:

2001-04-02 2 11 33 
2001-04-03 6 NA 22 
2001-04-04 NA NA NA 
2001-04-05 5 8 19 

Я пробовал разные способы, но я действительно не знаю, как это сделать. Любые предложения?

+3

na.trim.ts (ДФЗ) – Henk

+0

Благодаря @Henk! На самом деле na.trim.ts (DFz) дает мне предупреждение, но после вашего предложения я нашел и попробовал простой na.trim (DFz), который отлично работает! – stem

+0

Обратите внимание, что если в последних строках также есть NA, они будут обрезаны функцией 'na.trim'. –

ответ

2

Попробуйте na.trim, который направит метод na.trim.zoo:

na.trim(DFz, sides = "left") 

дает:

  x y z 
2001-04-02 2 11 33 
2001-04-03 6 NA 22 
2001-04-04 NA NA NA 
2001-04-05 5 8 19 

По умолчанию na.trim наличники с обеих сторон, поэтому мы используем sides, чтобы гарантировать, что конечные NAs сохраняются.

Примечание: Возможно, вы захотите ознакомиться с различными методами зоопарка na.*. Они должны быть перечислены среди вывода этой команды:

apropos("^na[.]") 
+0

Спасибо! Я использую несколько na. *, Но не думал использовать apropos и искать na. *, Что я не знал. – stem

Смежные вопросы