首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在r中的数据中选择特定日期

在r中的数据中选择特定日期
EN

Stack Overflow用户
提问于 2022-10-07 10:11:40
回答 1查看 21关注 0票数 0

我有一个数据waterlevels,它由来自2021年9个测压仪的数据组成。每隔15分钟测量一次地下水位。这是df的负责人:

代码语言:javascript
运行
复制
dateandtime abs_waterlevel_m well
2021-01-01 00:00:00         17.90863  K01
2021-01-01 00:15:00         17.90710  K01
2021-01-01 00:30:00         17.90445  K01
2021-01-01 00:45:00         17.90843  K01
2021-01-01 01:00:00         17.90751  K01
2021-01-01 01:15:00         17.90302  K01

首先是井K01,然后是K02等等,这是整个2021年的情况。日期和时间变量的数据类型为POSIXct格式。

我想要,选择与每个月的第一天对应的行,,这样我就可以得到每月第一天所有9个测压仪的地面水位,在00:00h。结果应该是12 (月)x9(测压计)= 108行的数据。

我在网上找了几个小时,找到了这样做的建议,但我只找到了数据范围和其他数据格式,但我更喜欢坚持POSIXct格式--如果可能的话。例如,我使用了:

代码语言:javascript
运行
复制
dates <- as.POSIXct(c("2021-01-01 00:00", "2021-02-01 00:00", "2021-03-01 00:00", "2021-04-01 00:00", "2021-05-01 00:00", "2021-06-01 00:00", "2021-07-01 00:00", "2021-08-01 00:00", "2021-09-01 00:00", "2021-10-01 00:00", "2021-11-01 00:00", "2021-12-01 00:00"))
selection <- waterlevels[as.POSIXct(waterlevels$dateandtime, '%Y-%m-%d %H:%M') %in% dates]

但是,我得到了未定义列被选中的错误,但我不明白为什么。

那么我该如何解决这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2022-10-07 11:13:07

代码语言:javascript
运行
复制
library(lubridate)
testdata[day(testdata$dateandtime) == 01,]

这对你有用吗?

根据要求编辑一天中的添加时间(尽管有点笨拙,对不起!)

代码语言:javascript
运行
复制
testdata[day(testdata$dateandtime) == 01 &
           hour(testdata$dateandtime) == 0 &
           minute(testdata$dateandtime) == 0 &
           second(testdata$dateandtime) == 0,]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73985603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档