我想添加行,以便每年有5行,充满了NA。
我的数据集:
df <- data.frame( a= c(2001,2001,2001,2001,2003,2004,2004,2004,2004,2004),
b= c(2,4,5,7,8,6,2,4,2,1))
我想要的输出:
df2 <- data.frame( a= c(2001,2001,2001,2001,2001,2002,2002,2002,2002,2002,2003,2003,2003,2003,2003,2004,2004,2004,2004,2004),
b= c(2,4,5,7,NA,NA,NA,NA,NA,NA,8,NA,NA,NA,NA,6,2,4,2,1) )
修改
我的数据中存在的其他年份每年有超过5个值保持不变!
答案 0 :(得分:1)
基础R解决方案:
do.call(rbind,
by(df,df$a,function(x){
if(nrow(x)<5)
rbind(x,data.frame(a=unique(x$a),b=rep(NA,5-nrow(x))))
else x
})
)