问题标签 [lubridate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
24142 浏览

r - 让 lubridate 减法只返回一个数值

我有一个变量称为Started人类受试者参加研究dos1的日期,另一个变量称为受试者最后一次手术的日期。我想计算从他们最后一次手术到入学之日的几个月。我试过:

我希望这会给我类似的东西:

每个数字都是月数。

相反,我得到:

我怎样才能得到月份的数值?

0 投票
4 回答
263567 浏览

r - 将日期时间字符串转换为日期类

我有一个带有日期时间字符列的数据框。

当我使用 时as.Date,我的大部分字符串都被正确解析,除了少数情况。下面的示例有望向您展示发生了什么。

如您所见,某些日期的年份不准确。当日期为两位数时,似乎会出现这种模式。

您可以提供的任何帮助将不胜感激。

0 投票
1 回答
4130 浏览

r - 如何使用 R 中的时间序列数据制作热图

我一直在尝试使用 ggstructure 绘制热图。如果我能得到一些指示,我不介意使用基本图形。我希望热图看起来类似于:

http://www.vistadatavision.com/uploads/images/reports/intensity_plot_1.PNG

除了键入 ggstructure(df3) 然后对错误挠头——这似乎是因为它不喜欢日期/时间数据之外,我没有设法得到任何进一步的结果?

这是为期两周的数据样本的“dput”,间隔为 10 分钟。编辑:最后我只有足够的空间住 4 天。我希望这就足够了。

任何指针都非常感谢。

0 投票
2 回答
5147 浏览

r - 为什么 lubridate 包中的 dmy() 不适用于 NA?什么是好的解决方法?

我偶然发现了lubridate包中的一个特殊行为:dmy(NA)引发错误,而不是仅仅返回一个 NA。当我想转换一个包含一些元素为 NA 的列和一些通常可以毫无问题地转换的日期字符串时,这会给我带来问题。

这是最小的示例:

总而言之,我有两个问题:1)为什么 dmy(NA) 不起作用?基于大多数其他函数,我认为每次转换(例如 dmy())再次NA返回NA(就像那样2 + NA)是一种很好的编程习惯?如果这种行为是有意的,我如何通过函数转换data.frame包含NAs的列dmy()

0 投票
1 回答
209 浏览

r - 带日期的外产品

给定一个日期时间值向量,我需要在每个原始日期时间之后的几个小时内创建一个data.frame包含日期0:10时间 - 第一列过去 0 小时,第二列过去 1 小时,等等。

lubridate我很难找到一种使用东西轻松做到这一点的方法。我认为这应该工作:

但是该管道中的各个部分都发生了故障。最终我得到这个错误:

这似乎来自rep.POSIXct()' 或rep.period()' 无法处理非单位长度times参数。或者其他的东西。

而且它可能无论如何都不会起作用,因为outer()返回一个矩阵和日期对象,即使是 POSIXct 日期(内部只是整数),它似乎也不能是矩阵中的元素。

经过大约 10 次其他猜测后,我发现有效(只是为了获取时间,而不是将它们放入数据框中)是:

with_tz()添加是必要的,因为丢失c()了时区属性。我也必须这样做,do.call(c, lapply(...))而不仅仅是sapply(...)因为sapply()失去了约会的事实。

也许另一种选择是通过做某事来创建一个数据框do.call(cbind, ...)

一般来说,如果我们发现 R 日期/时间任务在概念上看起来很简单,但在找到解决方案之前需要大量练习,我们可以通过更改lubridate或其他方式来消除障碍。我想这可能是其中之一。=)

0 投票
2 回答
2787 浏览

r - 使用 ggplot2 在 x 轴上绘制日期,在 y 轴上绘制时间

我已经阅读了一系列事件发生的 37 个日期和时间。它现在作为 POSIXlt 对象存在。我想要每天事件发生的时间的图形表示。所以x轴应该是日期,y轴应该是一天中的时间。

然后我尝试用 ggplot2 绘制它

这就是我想要的,但它没有分钟的分辨率。如何在 y 轴中包含小时和分钟?

这是一些示例数据

这是dput文件

0 投票
1 回答
1371 浏览

r - data.table 函数可以动态操作日期和时间列吗?

我已经开始使用 data.table。确实,它非常快且语法非常好。我在约会方面遇到了麻烦。我喜欢使用润滑脂。在我的许多数据集中,我都有日期或日期和时间,并使用 lubridate 来操纵它们。Lubridate 将瞬间存储为 POSIX 类。我在这里看到了创建新变量的答案,例如只是为了获得年份,例如。2005. 我不喜欢那样。有时我会按年分析,有时按季度分析,有时按月分析,有时按持续时间分析。我想做一些简单的事情,比如这样

那应该给我在给定年份遇到的患者数量。by 函数不起作用。

你能指出我在哪里使用 data.tables 和日期以及这些日期的操作和分类是在哪里进行的小插曲。

0 投票
2 回答
23362 浏览

r - 生成两年内每月最后一天的序列

我使用 lubridate 并认为这很容易

但看看一个人得到了什么。一切都乱了套!

然后我阅读了 lubridate 如何迎合间隔、持续时间和周期等现象。所以,好吧,我意识到一个月实际上是由 (365*4+1)/48 = 30.438 天定义的天数。所以我试图变得聪明并将其重写为

但这只是给出了一个错误。

0 投票
4 回答
11042 浏览

r - 润滑间隔长度

以指定单位获取由intervalin表示的时间长度的最佳方法是什么?lubridate我能想到的只是以下混乱的事情:

(我还在https://github.com/hadley/lubridate/issues/105上将此作为功能请求添加,假设没有更好的方法可用 - 但也许这里有人知道。)

更新- 显然该difftime函数也不处理这个。这是一个例子。

正如我在下面提到的,我认为处理这个问题的一种好方法是实现一个/.interval不首先将其输入转换为period.

0 投票
2 回答
275 浏览

r - 润滑 - 消息

使用类似功能时是否可以抑制诸如“使用日期格式...”之类的消息?

虽然在投射矢量时很容易看到这些,但在某些情况下可能会很烦人。