gpt4 book ai didi

r - 填写缺少的日期范围

转载 作者:行者123 更新时间:2023-12-03 18:36:25 24 4
gpt4 key购买 nike

我有以下示例数据框:

Date_from <- c("2013-01-01","2013-01-10","2013-01-16","2013-01-19")
Date_to <- c("2013-01-07","2013-01-12","2013-01-18","2013-01-25")
y <- data.frame(Date_from,Date_to)
y$concentration <- c("1.5","2.5","1.5","3.5")
y$Date_from <- as.Date(y$Date_from)
y$Date_to <- as.Date(y$Date_to)
y$concentration <- as.numeric(y$concentration)

这些是特定日期范围内重金属的测量值。但是,日期范围不连续,因为 2013-01-07 到 2013-01-10 和 2013-01-12 到 2013-01-16 之间存在间隔。我需要检测这些间隙,在每个间隙后插入一行并用缺失的范围填充它。结果应如下所示:
Date_from    Date_to concentration
2013-01-01 2013-01-07 1.5
2013-01-08 2013-01-09 NA
2013-01-10 2013-01-12 2.5
2013-01-13 2013-01-15 NA
2013-01-16 2013-01-18 1.5
2013-01-19 2013-01-25 3.5

最佳答案

尝试这个:

adding <- data.frame(Date_from = y$Date_to[-nrow(y)]+1,
Date_to = y$Date_from[-1]-1, concentration = NA)
adding <- adding[adding$Date_from <= adding$Date_to,]
res <- rbind(y,adding)
res[order(res$Date_from),]

# Date_from Date_to concentration
#1 2013-01-01 2013-01-07 1.5
#5 2013-01-08 2013-01-09 NA
#2 2013-01-10 2013-01-12 2.5
#6 2013-01-13 2013-01-15 NA
#3 2013-01-16 2013-01-18 1.5
#4 2013-01-19 2013-01-25 3.5

关于r - 填写缺少的日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51174072/

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