gpt4 book ai didi

r - 提取 R 数据框中两个日期之间的分段

转载 作者:行者123 更新时间:2023-12-01 11:32:22 26 4
gpt4 key购买 nike

我正在尝试从两个特定日期时间之间的数据框中提取一系列数据;例如提取两个日期之间河流的 CFS(速度)。我翻遍了我的一堆 R 书籍和整个网络,找到了一些可能的答案,但不适用于我的特定应用程序。

我认为这应该是在 R 中实现的一个相当简单的任务。我可以在睡梦中使用 MySQl 执行它,但需要在 R 中执行它。

数据框的格式:

日期,CFS,温度,

2015-06-01 00:00, 2009, 12.5

2015-06-01 00:30, 2010, 12.5

data <- read.table("~/SomeObscureDataDirectory/RiverDataFull", sep="\t", header=TRUE)
sub1 <- subset(data, data$Date >= 2015-06-01 00:00 & data$Date <= 2015-06-01 07:15)

//---------------->

> data <- read.table("~/SomeObscureDataDirectory", sep="\t", header=TRUE)
> sub1 <- subset(data, data$Date >= 2015-06-01 00:00 & data$Date <=2015-06-01 07:15)
Error: unexpected numeric constant in "sub1 <- subset(data, data$Date >= 2015-06-01 00"

我对解决方案不知所措,非常感谢您的专业知识。我假设日期格式不允许我对其进行搜索?注意:我无法更改它所在的 RiverDataFull.tab 文件中的格式。

最佳答案

数据框的 date 列是一个因素。因此,您需要将此列转换为日期类型,并与另一种日期类型进行比较。您可以使用 as.POSIXct() 函数来执行此操作:

data$Date <- as.POSIXct(data$Date, format='%Y/%m/%d %H:%M');    # convert to date
sub1 <- subset(data, data$Date >= as.POSIXct("2015-06-01 00:00") &
data$Date <= as.POSIXct("2015-06-01 07:15"))

在您的原始代码中,您尝试使用原始数字和字符串,但这是行不通的。

关于r - 提取 R 数据框中两个日期之间的分段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31106364/

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