gpt4 book ai didi

r - 添加缺失的年份?

转载 作者:行者123 更新时间:2023-12-01 23:24:27 24 4
gpt4 key购买 nike

我是一个新用户,我需要一点帮助我的 df 看起来像这样

         y         v
1 2000 1
2 2003 3
3 2005 3
4 2006 6
5 2009 1
6 2011 1
7 2013 3

我想添加未出现在年份向量中的年份,并将其适当的 v 值加 0。就像 2001,2002.. 例如;

         y         v
1 2000 1
2 2001 0
3 2002 0
4 2003 3
5 2004 0
6 2005 3

我的第一个尝试是使用库 chron 创建另一个向量

这是我的代码,

 yy <- seq.dates(from="01/01/2000", to="12/31/2013", by="years")
yy <- as.POSIXct(yy, f="%Y")
yy <- format(yy, f ="%Y")
pp <- rep(0, length=14)
yp <- data.frame(cbind(yy, pp))

但由于它们的长度不同,所以当它们的年份相同时,我无法将 DF 的值替换为 yp!

提前致谢

最佳答案

您可以为此使用merge:

DF <- read.table(text="         y         v
1 2000 1
2 2003 3
3 2005 3
4 2006 6
5 2009 1
6 2011 1
7 2013 3",header=TRUE)

DF <- merge(DF,
data.frame(y=seq.int(min(DF$y),max(DF$y))),
by="y",all=TRUE)
DF$v[is.na(DF$v)] <- 0 #assuming you have no other NA values

head(DF)
# y v
# 1 2000 1
# 2 2001 0
# 3 2002 0
# 4 2003 3
# 5 2004 0
# 6 2005 3

关于r - 添加缺失的年份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17347037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com