将 df 开头和结尾的 NA 替换为 dplyr
Replace NA at the beginning and end of df with dplyr
用于估算列中缺失值的最佳程序包是什么?我查看了处理时间序列数据的 zoo
包,并使用了 LOCF (na.locf
),但首先跳过 NA
...
这是一个示例数据框
> df <- within(df, {duration[c(1,5,9)] <- NA})
> df
duration
1 NA
2 2
3 3
4 4
5 NA
6 6
7 7
8 8
9 NA
您可以对 na.locf
说您不想删除 NA
,因此它会在替换中保留第一个 NA
。然后你可以做另一个替换说你想从最后开始用第一个非NA
元素替换剩余的NA
。
df <-read.table(text = "duration
NA
2
3
4
NA
6
7
8
NA", header = TRUE)
library(zoo)
df <- na.locf(df, na.rm = FALSE)
df <- na.locf(df, na.rm = FALSE, fromLast = TRUE)
df
duration
1 2
2 2
3 3
4 4
5 4
6 6
7 7
8 8
9 8
用于估算列中缺失值的最佳程序包是什么?我查看了处理时间序列数据的 zoo
包,并使用了 LOCF (na.locf
),但首先跳过 NA
...
这是一个示例数据框
> df <- within(df, {duration[c(1,5,9)] <- NA})
> df
duration
1 NA
2 2
3 3
4 4
5 NA
6 6
7 7
8 8
9 NA
您可以对 na.locf
说您不想删除 NA
,因此它会在替换中保留第一个 NA
。然后你可以做另一个替换说你想从最后开始用第一个非NA
元素替换剩余的NA
。
df <-read.table(text = "duration
NA
2
3
4
NA
6
7
8
NA", header = TRUE)
library(zoo)
df <- na.locf(df, na.rm = FALSE)
df <- na.locf(df, na.rm = FALSE, fromLast = TRUE)
df
duration
1 2
2 2
3 3
4 4
5 4
6 6
7 7
8 8
9 8