lubridate 相关问题

lubridate是一个R包,可以更轻松地处理日期和时间对象。

总结重叠日期上的列的平均值

我有一个如下所示的数据框: 日期时间值 日期 纬度 日出 日落 我有一个如下所示的数据框: Datetime value date lat lon sunrise sunset <dttm> <dbl> <date> <dbl> <dbl> <dttm> <dttm> 1 2021-09-01 00:00:00 9 2021-09-01 36.2 -92.3 2021-09-01 06:42:27 2021-09-01 19:38:56 2 2021-09-01 01:00:00 22 2021-09-01 36.2 -92.3 2021-09-01 06:42:27 2021-09-01 19:38:56 3 2021-09-01 02:00:00 0 2021-09-01 36.2 -92.3 2021-09-01 06:42:27 2021-09-01 19:38:56 4 2021-09-01 03:00:00 9 2021-09-01 36.2 -92.3 2021-09-01 06:42:27 2021-09-01 19:38:56 5 2021-09-01 04:00:00 9 2021-09-01 36.2 -92.3 2021-09-01 06:42:27 2021-09-01 19:38:56 6 2021-09-01 05:00:00 35 2021-09-01 36.2 -92.3 2021-09-01 06:42:27 2021-09-01 19:38:56 7 2021-09-01 06:00:00 9 2021-09-01 36.2 -92.3 2021-09-01 06:42:27 2021-09-01 19:38:56 8 2021-09-01 20:00:00 0 2021-09-01 36.2 -92.3 2021-09-01 06:42:27 2021-09-01 19:38:56 9 2021-09-01 21:00:00 48 2021-09-01 36.2 -92.3 2021-09-01 06:42:27 2021-09-01 19:38:56 10 2021-09-01 22:00:00 0 2021-09-01 36.2 -92.3 2021-09-01 06:42:27 2021-09-01 19:38:56 11 2021-09-01 23:00:00 0 2021-09-01 36.2 -92.3 2021-09-01 06:42:27 2021-09-01 19:38:56 12 2021-09-02 00:00:00 0 2021-09-02 36.2 -92.3 2021-09-02 06:43:14 2021-09-02 19:37:31 13 2021-09-02 01:00:00 26 2021-09-02 36.2 -92.3 2021-09-02 06:43:14 2021-09-02 19:37:31 14 2021-09-02 02:00:00 26 2021-09-02 36.2 -92.3 2021-09-02 06:43:14 2021-09-02 19:37:31 15 2021-09-02 03:00:00 45 2021-09-02 36.2 -92.3 2021-09-02 06:43:14 2021-09-02 19:37:31 16 2021-09-02 04:00:00 0 2021-09-02 36.2 -92.3 2021-09-02 06:43:14 2021-09-02 19:37:31 17 2021-09-02 05:00:00 31 2021-09-02 36.2 -92.3 2021-09-02 06:43:14 2021-09-02 19:37:31 18 2021-09-02 06:00:00 84 2021-09-02 36.2 -92.3 2021-09-02 06:43:14 2021-09-02 19:37:31 19 2021-09-02 20:00:00 21 2021-09-02 36.2 -92.3 2021-09-02 06:43:14 2021-09-02 19:37:31 20 2021-09-02 21:00:00 0 2021-09-02 36.2 -92.3 2021-09-02 06:43:14 2021-09-02 19:37:31 structure(list(Datetime = structure(c(1630472400, 1630476000, 1630479600, 1630483200, 1630486800, 1630490400, 1630494000, 1630544400, 1630548000, 1630551600, 1630555200, 1630558800, 1630562400, 1630566000, 1630569600, 1630573200, 1630576800, 1630580400, 1630630800, 1630634400), tzone = "America/Chicago", class = c("POSIXct", "POSIXt")), value = c(9, 22, 0, 9, 9, 35, 9, 0, 48, 0, 0, 0, 26, 26, 45, 0, 31, 84, 21, 0), date = structure(c(18871, 18871, 18871, 18871, 18871, 18871, 18871, 18871, 18871, 18871, 18871, 18872, 18872, 18872, 18872, 18872, 18872, 18872, 18872, 18872 ), class = "Date"), lat = c(36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224, 36.224), lon = c(-92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315, -92.315), sunrise = structure(c(1630496547, 1630496547, 1630496547, 1630496547, 1630496547, 1630496547, 1630496547, 1630496547, 1630496547, 1630496547, 1630496547, 1630582994, 1630582994, 1630582994, 1630582994, 1630582994, 1630582994, 1630582994, 1630582994, 1630582994), tzone = "America/Chicago", class = c("POSIXct", "POSIXt")), sunset = structure(c(1630543136, 1630543136, 1630543136, 1630543136, 1630543136, 1630543136, 1630543136, 1630543136, 1630543136, 1630543136, 1630543136, 1630629451, 1630629451, 1630629451, 1630629451, 1630629451, 1630629451, 1630629451, 1630629451, 1630629451), tzone = "America/Chicago", class = c("POSIXct", "POSIXt"))), row.names = c(NA, -20L), class = c("tbl_df", "tbl", "data.frame")) 最初数据包含每天的所有 24 小时,但我已将其过滤为仅包含日落之后和日出之前的几个小时。我现在的问题是,我想在同一时间段内取第二列“值”的平均值:日落之后到日出之前,但跨越两个日期的过程。本质上我想要一个晚上的平均值。 有没有一种方法可以进行分组和汇总,以便我可以通过跨越两个日期的日落和日出之间的值来收集列值的平均值? 对于日落总是在 00:00 之前且日出在 12:00 之前的特定纬度,我们可以将 Datetime 移动 12 小时并按结果日期进行分组: library(dplyr) library(lubridate) df %>% group_by(sunset_date = date(Datetime - hours(12))) %>% summarise(dt_start = min(Datetime), dt_end = max(Datetime), mean_value = mean(value)) #> # A tibble: 3 × 4 #> sunset_date dt_start dt_end mean_value #> <date> <dttm> <dttm> <dbl> #> 1 2021-08-31 2021-09-01 00:00:00 2021-09-01 06:00:00 13.3 #> 2 2021-09-01 2021-09-01 20:00:00 2021-09-02 06:00:00 23.6 #> 3 2021-09-02 2021-09-02 20:00:00 2021-09-02 21:00:00 10.5 创建于 2023-10-10,使用 reprex v2.0.2

回答 1 投票 0

将数据框中的日期与R中列表中最接近的日期进行匹配

我有一个包含日期列表的数据框。我还有一个向量形式的参考日期列表。我创建了一个可复制的数据框和向量。您可以忽略“r”对象,除了

回答 1 投票 0

GMT+3 时区输出错误时间

在 lubridate 包中,当我使用 now(tzone = 'Etc/GMT+3') 当我的系统默认为 UTC 时,我得到的时间比当前 UTC 时间晚 3 小时而不是提前: 现在(tzone='等/GMT+3') [1] &...

回答 1 投票 0

在 R 中处理错误解析的日期时间数据

我正在使用 read_excel 将数据从 Excel 读取到 R 中。其中一列 date_time 具有混合格式,并作为字符向量读入。这是行的示例。 日期_时间 <- c( 45144.

回答 1 投票 0

如何使用`dmy`函数将多个变量(字符)转换为dmy格式?

假设我有这个 df (但大得多) 库(润滑) df = data.frame(id=1:5,date1 = c("2023/01/02","2023/08/03","2023/09/09","2023/11/05",". ..

回答 1 投票 0

无法强制列与 R 中的日期时间类型相同

> 类(report_df$LASTACTIVITYDATE) [1]“POSIXct”“POSIXt” 由于存在 POSIXct 和 POSIXt 的混合数据类型,我无法正确处理我的数据。 问题发生了...

回答 1 投票 0

将示例数据映射到实际 csv 数据

感谢戴维和每个人,我认为我取得了进步。它仍然不会生成折线图,但代码中逻辑上没有任何看起来错误的地方。我在这里没有任何功劳 - 我只是剪切和粘贴......

回答 2 投票 0

如何按周聚合数据框?

考虑以下示例 图书馆(tidyverse) 库(润滑) 时间 <- seq(from =ymd("2014-02-24"),to= ymd("2014-03-20"), by="days") set.seed(123) values <-

回答 4 投票 0

创建日历年的开始和结束日期

我想从日历年变量(这里是1991年到2001年)创建日历年的开始和结束日期,并找到了解决方案: 库(润滑) 图书馆(dplyr) df <- tibble(calendar_...

回答 2 投票 0

Hmisc:用 hms 格式标记 data.frame 列

我正在尝试使用格式为“hms”的列之一来标记 data.frame,如下所示: 库(Hmisc) 数据<- data.frame(time = c(hms::hms(20, 20, 20), hms::hms(30, 20, 10)), ...

回答 1 投票 0

为财政年度分配日期

我正在尝试编写一些代码来查看日期,然后将其分配给会计年度。我完全被困住了。 我有一个包含 POSIXct 格式日期的变量: df$日期 #2015-05-01...

回答 4 投票 0

计算类别经过午夜的行之间的时间差(第 2 部分)

这个问题是我之前提出的问题的延伸(计算类别经过午夜的行之间的时间差)。虽然 maupagas 对该帖子的回复已解决......

回答 1 投票 0

我正在尝试创建一个列,通过 R 中的季节和年份来识别遥测检测

我有一个遥测数据集,我正在尝试将其与我拥有的食物供应数据集合并。为此,我需要在遥测数据中创建一个列,通过其定义来识别检测...

回答 1 投票 0

R 编程中的日期数据类型

我目前正在研究谷歌数据分析顶点循环。 我要添加一个名为“日期”、“日”、“月”和“年”的列。 我已经安装了必要的软件包。 我有一个名为 $started_at 的专栏

回答 1 投票 0

如何制作BC R 中的日期格式

我有像 1/1/-2150 这样的字符串。如何从 R 中创建日期格式 润滑背部: 库(润滑) dmy("1/1/-2150") [1]《2150-01-01》 as.Date("1/1/-2150",format="%d/%m/%Y") [1] 不适用 现在 1/1/...

回答 3 投票 0

如何根据当前年份中的日期是否已过去,为日期字符串分配正确的年份?

如何将年份添加到缺少年份的日期向量中,如果今年日期已经过去,则分配明年,如果今年即将到来,则分配今年? 样本数据: 日期维克 <- c("...

回答 1 投票 0

根据依赖条件过滤分组数据

我有一个日期(日期)和温度(度)的数据框。我试图按温度达到 5 或更低但后来达到 15 或更高的年份过滤此数据。时间跨度各异...

回答 1 投票 0

将包含小时和分钟的时间戳转换为日期时间

我正在尝试按照另一篇 StackOverflow 帖子中的说明进行操作,因为我有类似的问题:我需要将时间戳转换为事件发生后的天数(或小时数)。 我的问题是我不断得到

回答 1 投票 0

无法使用 lubridate 合并日期(字符类型)和时间(字符类型),并且创建的新列始终显示 N/As

我正在尝试使用 lubridate 将日期(mdy)和时间(hms)合并到我的数据的新列中。我希望新的日期时间列的顺序为 y-m-d h:m:s。 我尝试了以下代码...

回答 1 投票 0

创建一个新列,其中包含给定年月 (dplyr) 的每个月 YMD 日期

我想创建一个新列,以 ymd 格式显示每个月的最后一天,并在同一行中给出年份和月份。像这样的东西: 月_年 月末 2022 年 1 月 31/01/2022 202 年 1 月...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.