我想在数据框上创建一个新列(Ifl_10min_mm.h),其值是前一行和实际行的总和 . 我正在使用dplyr包,具有mutate和lag功能 .

当尝试将实际行值与先前的NA行值相加时,结果输出为NA . 如何避免NA输出?

library(dplyr)
df = read.csv(file= "prueba3.csv ",header=TRUE,sep= ",")
df<-mutate(df, Ifl_10min_mm.h = (Rainfall_mm + lag(Rainfall_mm,n = 1L))*60/10)

这是结果数据框的摘录:

TIMESTAMP                    Rainfall_mm   Ifl_10min_mm.h
1      2017-03-31 18:00:00         0.0             NA
2      2017-03-31 18:05:00          NA             NA
3      2017-03-31 18:10:00          NA             NA
4      2017-03-31 18:15:00          NA             NA
5      2017-03-31 18:20:00          NA             NA
6      2017-03-31 18:25:00          NA             NA
7      2017-03-31 18:30:00         0.1             NA
8      2017-03-31 18:35:00          NA             NA
9      2017-03-31 18:40:00          NA             NA
10     2017-03-31 18:45:00          NA             NA
11     2017-03-31 18:50:00          NA             NA
12     2017-03-31 18:55:00          NA             NA
13     2017-03-31 19:00:00         0.3             NA

如您所见,生成的新变量Ifl_10min_mm.h具有NA作为输出 . 第7行的输出应为0.6,但输出NA . 对于第13行,它输出NA而不是1.8 .