Я объединил несколько временных рядов вместе, и мне нужно подмножить данные так, чтобы первая строка не имела НС. Ниже первой строки могут быть 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
Я пробовал разные способы, но я действительно не знаю, как это сделать. Любые предложения?
na.trim.ts (ДФЗ) – Henk
Благодаря @Henk! На самом деле na.trim.ts (DFz) дает мне предупреждение, но после вашего предложения я нашел и попробовал простой na.trim (DFz), который отлично работает! – stem
Обратите внимание, что если в последних строках также есть NA, они будут обрезаны функцией 'na.trim'. –