gpt4 book ai didi

r - 填充缺少时间单位的时间序列

转载 作者:行者123 更新时间:2023-12-02 07:26:44 24 4
gpt4 key购买 nike

我有以下数据(示例),其中包含一些闰分钟(例如,缺少 6:32 和 6:33)。对于这些情况,计数等于 0,但数据库只是没有报告它们并跳过分钟。

count   time
47 15/12/2014 06:30
3 15/12/2014 06:31
431 15/12/2014 06:34
320 15/12/2014 06:35
42 15/12/2014 06:36
13 15/12/2014 06:37
383 15/12/2014 06:38
160 15/12/2014 06:39

我曾尝试关注其他帖子(IIIIII),他们在这些帖子中使用了 xts 包,但没有成功。我尝试了自己的方法,但也没有用:

sort.df <- df[order(df$time),]
time.min <- min(sort.df$time)
time.max <- max(sort.df$time)
all.dates <- seq(time.min, time.max, by="min") # I create a list of all the minutes.
all.dates.frame <- data.frame(list(time=all.dates))
merged.data <- merge(all.dates.frame, sorted.data, all=T)

我得到的只是用 NA 值复制的所有分钟数。有人知道我做错了什么吗?非常感谢任何帮助/想法!

最佳答案

这个怎么样 - 它适用于小样本数据:

您的输入数据:

df <- read.table(header=T, text='count   time
47 "15/12/2014 06:30"
3 "15/12/2014 06:31"
431 "15/12/2014 06:34"
320 "15/12/2014 06:35"
42 "15/12/2014 06:36"
13 "15/12/2014 06:37"
383 "15/12/2014 06:38"
160 "15/12/2014 06:39"')

格式化“时间”列:

df$time <- as.POSIXct(df$time, format = "%d/%m/%Y %H:%M")

创建一个包含所有分钟的新 data.frame:

newdf <- data.frame(time = seq(min(df$time), max(df$time), by = "mins"))

然后将其与原始数据合并:

merge(newdf, df, by = "time", all.x = TRUE)
# time count
#1 2014-12-15 06:30:00 47
#2 2014-12-15 06:31:00 3
#3 2014-12-15 06:32:00 NA
#4 2014-12-15 06:33:00 NA
#5 2014-12-15 06:34:00 431
#6 2014-12-15 06:35:00 320
#7 2014-12-15 06:36:00 42
#8 2014-12-15 06:37:00 13
#9 2014-12-15 06:38:00 383
#10 2014-12-15 06:39:00 160

关于r - 填充缺少时间单位的时间序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27481893/

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