在给定间隔内使用ifelse()语句进行日期时间观察

菲利波兰多

我想df$lamp_intensity根据中的特定时间间隔向量分配一个值df$date如果给定的观测值不在此间隔内,我想分配一个NA一旦我使第一部分代码开始工作,我计划嵌套一堆ifelse()语句来处理多个时间间隔。我想我已经很近了,但是我绝对可以用一只手。

谢谢!

这是我的数据:

df <- structure(list(date = structure(c(1504787028, 1504787030, 1504787031, 1504787032, 1504787033, 1504787034, 1504787035, 1504787036, 1504787037, 1504787038), class = c("POSIXct", "POSIXt"), tzone = "UTC"), ppm = c(0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.0009765625, 0.00146484375)), .Names = c("date", "ppm"), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"))

df$lamp_intensity <- ifelse(df$date >= as.POSIXct("2017-09-07 12:23:51",
    format = "%Y-%m-%d %H:%M:%S", tz = "UTC") && ## using '&' generates an error message
    date <= as.POSIXct("2017-09-07 12:23:55",
    format = "%Y-%m-%d %H:%M:%S", tz = "UTC"), 0, NA)

head(df, 10)

该解决方案将为之间0df$lamp_intensity分配2017-09-07 12:23:512017-09-07 12:23:55

eipi10

您可以改用该cut函数。例如:

df$lamp_intensity = cut(df$date, 
                        breaks=as.POSIXct(c("2017-09-07 12:23:42","2017-09-07 12:23:55",
                                            "2017-09-07 12:24:02", "2017-09-07 12:24:31"), tz="UTC"),
                        labels=c(0,1,2))

                  date          ppm lamp_intensity
 1 2017-09-07 12:23:48 0.0009765625              0
 2 2017-09-07 12:23:50 0.0009765625              0
 3 2017-09-07 12:23:51 0.0009765625              0
 4 2017-09-07 12:23:52 0.0009765625              0
 5 2017-09-07 12:23:53 0.0009765625              0
 6 2017-09-07 12:23:54 0.0009765625              0
 7 2017-09-07 12:23:55 0.0009765625              1
 8 2017-09-07 12:23:56 0.0009765625              1
 9 2017-09-07 12:23:57 0.0009765625              1
10 2017-09-07 12:23:58 0.0014648438              1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何查找日期是否在给定的时间间隔内

在给定间隔内对整数进行排序

如何检查 input() 是否在给定的时间间隔内?

检查日期是否在给定间隔内不起作用

如何在给定间隔值的间隔内进行随机采样?

使用熊猫按给定的时间间隔对日期进行分组和处理

在给定的时间间隔内,一个时间范围有多少小时?

在给定的HDI间隔内找到CI?

NetworkStatsManager.queryDetailsForUid在给定的时间间隔内未获取正确的数据

Skyfield:在给定的时间间隔内以1秒的周期获得sgp4结果

计算在给定时间范围内落入间隔的每个“ x”?

在给定的小时间隔范围内,从邮件列表生成文本文件

在给定的时间范围内生成日期和时间

如何在给定的不规则日期上对时间序列进行重新采样

检查当前时间是否在给定间隔GOLANG中

在给定的时间间隔内在Java线程中等待并通知

在给定的时间(或间隔)后,如何刷新jsp页面?

如何按天对时间间隔进行求和:给定的日期包含多少个时间间隔?

在日期间隔或 NA 内过滤观察

如何使用SQL在给定的时间窗口内对事件时间进行排名?

仅在给定时间段内进行本地通知

在给定间隔内循环或包装颜色图

如何在给定间隔内计算小时数

如何在给定间隔内启用/禁用按钮

使用日期时间在 python 中进行的上次观察

如何在给定的时间间隔重复使用具有相同参数的函数(当前尝试使用setTimout)

在给定的日期范围内,无法使计数行在1小时的时间跨度内工作

日期时间是否在JodaTime的间隔内?

在给定的时间范围内清除每个通知javascript