gpt4 book ai didi

r - 如何在数据框中插入丢失的时间(按分钟)?以及如何为该缺失时间分配相应的 y 值作为 NA?

转载 作者:行者123 更新时间:2023-12-04 10:33:22 24 4
gpt4 key购买 nike

我有一个看起来像这样的数据:

SN  TimeStamp      MOTOR
1 1/27/20 18:00 0
2 1/27/20 18:02 1
3 1/27/20 18:04 0
4 1/27/20 18:05 1
5 1/27/20 18:08 0

怎么能让它看起来像这样?
SN  TimeStamp      MOTOR
1 1/27/20 18:00 0
2 1/27/20 18:01 NA
3 1/27/20 18:02 1
4 1/27/20 18:03 NA
5 1/27/20 18:04 0
6 1/27/20 18:05 1
7 1/27/20 18:06 NA
8 1/27/20 18:07 NA
9 1/27/20 18:08 0

基本上,我的问题是如何插入缺失的时间戳并将相应的 MOTOR 值分配为 NA?

如果有人可以提供帮助,我将不胜感激。我刚开始学习 R,这让我从早上开始就头疼。

谢谢。

最佳答案

您可以创建一个数据帧,其时间戳是原始数据帧的最小值和最大值的序列,然后进行左连接(此处使用 dplyrlubridate ):

library(lubridate)
library(dplyr)
df_or$TimeStamp = mdy_hm(df_or$TimeStamp) # Convert TimeStamp into appropriate date format

DF <- data.frame(TimeStamp = seq(min(df_or$TimeStamp),max(df_or$TimeStamp), by = "min"))
DF %>% left_join(., df_or, by = "TimeStamp")

TimeStamp MOTOR
1 2020-01-27 18:00:00 0
2 2020-01-27 18:01:00 NA
3 2020-01-27 18:02:00 1
4 2020-01-27 18:03:00 NA
5 2020-01-27 18:04:00 0
6 2020-01-27 18:05:00 1
7 2020-01-27 18:06:00 NA
8 2020-01-27 18:07:00 NA
9 2020-01-27 18:08:00 0

数据

df_or <- data.frame(TimeStamp = c("1/27/20 18:00","1/27/20 18:02","1/27/20 18:04","1/27/20 18:05", "1/27/20 18:08"),
MOTOR = c(0,1,0,1,0))

关于r - 如何在数据框中插入丢失的时间(按分钟)?以及如何为该缺失时间分配相应的 y 值作为 NA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60308182/

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