问题标签 [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.
r - 让 lubridate 减法只返回一个数值
我有一个变量称为Started
人类受试者参加研究dos1
的日期,另一个变量称为受试者最后一次手术的日期。我想计算从他们最后一次手术到入学之日的几个月。我试过:
我希望这会给我类似的东西:
每个数字都是月数。
相反,我得到:
我怎样才能得到月份的数值?
r - 将日期时间字符串转换为日期类
我有一个带有日期时间字符列的数据框。
当我使用 时as.Date
,我的大部分字符串都被正确解析,除了少数情况。下面的示例有望向您展示发生了什么。
如您所见,某些日期的年份不准确。当日期为两位数时,似乎会出现这种模式。
您可以提供的任何帮助将不胜感激。
r - 如何使用 R 中的时间序列数据制作热图
我一直在尝试使用 ggstructure 绘制热图。如果我能得到一些指示,我不介意使用基本图形。我希望热图看起来类似于:
http://www.vistadatavision.com/uploads/images/reports/intensity_plot_1.PNG
除了键入 ggstructure(df3) 然后对错误挠头——这似乎是因为它不喜欢日期/时间数据之外,我没有设法得到任何进一步的结果?
这是为期两周的数据样本的“dput”,间隔为 10 分钟。编辑:最后我只有足够的空间住 4 天。我希望这就足够了。
任何指针都非常感谢。
r - 为什么 lubridate 包中的 dmy() 不适用于 NA?什么是好的解决方法?
我偶然发现了lubridate
包中的一个特殊行为:dmy(NA)
引发错误,而不是仅仅返回一个 NA。当我想转换一个包含一些元素为 NA 的列和一些通常可以毫无问题地转换的日期字符串时,这会给我带来问题。
这是最小的示例:
总而言之,我有两个问题:1)为什么 dmy(NA) 不起作用?基于大多数其他函数,我认为每次转换(例如 dmy())再次NA
返回NA
(就像那样2 + NA
)是一种很好的编程习惯?如果这种行为是有意的,我如何通过函数转换data.frame
包含NA
s的列dmy()
?
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
或其他方式来消除障碍。我想这可能是其中之一。=)
r - 使用 ggplot2 在 x 轴上绘制日期,在 y 轴上绘制时间
我已经阅读了一系列事件发生的 37 个日期和时间。它现在作为 POSIXlt 对象存在。我想要每天事件发生的时间的图形表示。所以x轴应该是日期,y轴应该是一天中的时间。
然后我尝试用 ggplot2 绘制它
这就是我想要的,但它没有分钟的分辨率。如何在 y 轴中包含小时和分钟?
这是一些示例数据
这是dput文件
r - data.table 函数可以动态操作日期和时间列吗?
我已经开始使用 data.table。确实,它非常快且语法非常好。我在约会方面遇到了麻烦。我喜欢使用润滑脂。在我的许多数据集中,我都有日期或日期和时间,并使用 lubridate 来操纵它们。Lubridate 将瞬间存储为 POSIX 类。我在这里看到了创建新变量的答案,例如只是为了获得年份,例如。2005. 我不喜欢那样。有时我会按年分析,有时按季度分析,有时按月分析,有时按持续时间分析。我想做一些简单的事情,比如这样
那应该给我在给定年份遇到的患者数量。by 函数不起作用。
你能指出我在哪里使用 data.tables 和日期以及这些日期的操作和分类是在哪里进行的小插曲。
r - 生成两年内每月最后一天的序列
我使用 lubridate 并认为这很容易
但看看一个人得到了什么。一切都乱了套!
然后我阅读了 lubridate 如何迎合间隔、持续时间和周期等现象。所以,好吧,我意识到一个月实际上是由 (365*4+1)/48 = 30.438 天定义的天数。所以我试图变得聪明并将其重写为
但这只是给出了一个错误。
r - 润滑间隔长度
以指定单位获取由interval
in表示的时间长度的最佳方法是什么?lubridate
我能想到的只是以下混乱的事情:
(我还在https://github.com/hadley/lubridate/issues/105上将此作为功能请求添加,假设没有更好的方法可用 - 但也许这里有人知道。)
更新- 显然该difftime
函数也不处理这个。这是一个例子。
正如我在下面提到的,我认为处理这个问题的一种好方法是实现一个/.interval
不首先将其输入转换为period
.
r - 润滑 - 消息
使用类似功能时是否可以抑制诸如“使用日期格式...”之类的消息?
虽然在投射矢量时很容易看到这些,但在某些情况下可能会很烦人。