填补R中的缺失级别

时间:2018-02-02 05:56:23

标签: r na r-factor

我有一个这种形式的大型数据框:

var1<-c("a","b")
var1<-c(rep(var1,2),rep(var1,2))
var2<-c(rep(c(2013,2013),2),rep(c(2014,2014),2))
df<-data.frame(var1,var2)
df$var3<-NA
df$var3[1]<-"x"
df$var3[3]<-"y"
df$var3[5]<-"x"
df$var3[7]<-"y"

df
  var1 var2 var3
1    a 2013    x
2    b 2013 <NA>
3    a 2013    y
4    b 2013 <NA>
5    a 2014    x
6    b 2014 <NA>
7    a 2014    y
8    b 2014 <NA>

我现在想摆脱缺失的价值并以我能得到的方式取而代之:

var1 var2 var3
1    a 2013    x
2    b 2013    x
3    a 2013    y
4    b 2013    y
5    a 2014    x
6    b 2014    x
7    a 2014    y
8    b 2014    y
> 

有人可以帮我完成这项任务。我的数据库非常大

注意:&#39; var2&#39;是一个角色

1 个答案:

答案 0 :(得分:1)

您可以从zoo包中尝试此操作。此函数继续列中的最后一个非NA值。

library(zoo)
df$var3 <- na.locf(df$var3)