Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从下到上填充缺少的值_R_Missing Data_Na - Fatal编程技术网

R 从下到上填充缺少的值

R 从下到上填充缺少的值,r,missing-data,na,R,Missing Data,Na,问题实例 date X Y 2012-07-05 00:01:19 0.0122 NA 2012-07-05 03:19:34 0.0121 NA 2012-07-05 03:19:56 0.0121 0.027 2012-07-05 03:20:31 0.0121 0.027 2012-07-05 04:19:56 0.0121 0.028 2012-07-05 04:20:31

问题实例

           date          X         Y
 2012-07-05 00:01:19   0.0122     NA
 2012-07-05 03:19:34   0.0121     NA
 2012-07-05 03:19:56   0.0121   0.027
 2012-07-05 03:20:31   0.0121   0.027
 2012-07-05 04:19:56   0.0121   0.028
 2012-07-05 04:20:31   0.0121   0.028
 2012-07-05 04:20:50   0.0121   0.028

如何使用
Y
列中的
0.027
填充
NA

您可以使用“zoo”软件包中的
NA.locf

其中“mydf”是:


mydf这里有一个在base R中的解决方案。如果
dat
是您的数据帧的名称,您可以尝试:

within(dat, Y[is.na(Y)] <- na.omit(Y)[1])

在(dat,Y[is.na(Y)]内,因为没有其他方法,所以使用
na.locf就足够了。
mydf <- structure(list(X = c(0.0122, 0.0121, 0.0121, 0.0121, 0.0121, 
    0.0121, 0.0121), Y = c(NA, NA, 0.027, 0.027, 0.028, 0.028, 0.028)), 
   .Names = c("X", "Y"), class = "data.frame", row.names = c(NA, -7L))

mydf
#        X     Y
# 1 0.0122    NA
# 2 0.0121    NA
# 3 0.0121 0.027
# 4 0.0121 0.027
# 5 0.0121 0.028
# 6 0.0121 0.028
# 7 0.0121 0.028
within(dat, Y[is.na(Y)] <- na.omit(Y)[1])