我已将几个时间序列合并在一起,我需要对数据进行子集化,以便第一行没有NA。在第一行下方可以有NA,即使在整行中也是如此。我将不得不通过插值来处理它们。 这是一个简化的数据示例:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given in J:\file.php on line 3484 (error in variable $getFirst8Comments)
我想要获得的是从没有NA的第一行开始的新动物园矩阵(即,从上面示例中的第四行开始),第一行下面的最终NA行必须保持不变。我想获得这个:
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
我尝试过不同的方法,但我真的不知道该怎么做。 有什么建议吗?
答案 0 :(得分: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
来确保保留尾随的NA。
注意:您可能希望熟悉各种na.*
动物园方法。它们应列在此命令的输出中:
apropos("^na[.]")