问题标签 [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 中自动分配 DST 转换?
我在 csv 文件中有日期时间对,看起来像
2012 年 11 月 4 日
在一列和
上午 12:06:08
在相邻的列中。它们以本地时间记录(即它们在适当的时间切换到 PST 和 PDT),但文件中没有 tz 或 DST 指示符。检测到这一点的唯一可见方法是时间序列做了有趣的事情。例如,在 2012 年 11 月 4 日,我有一系列时间,例如
12:51:20 AM 1:13:08 AM 1:24:58 AM 1:40:28 AM 1:48:08 AM 1:54:08 AM 1:56:58 AM 1:04:28 AM 1: 05:48 AM 1:07:18 AM 1:15:00 AM 1:39:08 AM 2:05:38 AM
PST 大概从凌晨 1:04:28 读数开始,但没有指示符。
是否有一种简单的方法来正确分配时区(大概使用 lubridate)?该文件很长,所以我不想一次循环阅读一个读数,因为我担心这可能需要一些时间。我必须在春天做同样的事情。
r - 在 ddply 中使用 ifelse 和 transform
我正在尝试使用ddply
with在数据框中transform
填充一个新变量 ( summary_Date
),其中包含变量ID
和Date
. 变量的值是根据正在评估的片段的长度选择的ifelse
:
如果在给定月份中对 ID 的观察少于五个,我希望summary_Date
通过将日期四舍五入到最近的月份来计算(使用round_date
from package lubridate
);如果在给定的月份中有超过五个 ID 的观察值,我希望它summary_Date
只是Date
.
该ifelse
语句似乎有效,但“summary_Date”中的值似乎是为转换正在处理的子集计算的第一个值,而不是特定于行的值。例如在第 3 行,summary_Date
应该是1962-04-01
因为日期1962-03-27 12:00:00'
应该向上取整(因为子集中的行少于五行),而是在该子集中的所有行中重复summary_Date
( ) 的第一个计算值。1962-03-01
编辑:我受到里卡多的回答的启发,data.table
使用ddply
. 它也可以:
r - 将日期转换为年月表示
我有一个Date
, 并且有兴趣将它表示为一个整数yyyymm
形式。目前,我这样做:
对于大型数据集,这非常慢。有更快的方法吗?请为您的答案提供时间,以便可以轻松比较它们。使用上面的例子。
r - 润滑和 ifelse
更新:澄清了问题和代码以回应评论者。
我不明白为什么date.ie
创建一个 POSIXct 对象而是date.ipt
创建一个数字对象。在这两种情况下,我都使用 lubridate 为日期添加天数。
更新 2:
下一个块是我的旧方法,由于行为方式,它不起作用ifelse
。谢谢@hadley 指出这一点。
这是我的修复。我没有使用 ifelse 一步创建 date.ipt,而是分几步进行。我到达了我想去的地方,但这需要一段时间。希望评论者对如何更有效地做到这一点提出建议。
r - 将格式 YYYY-MM-DD HH:MM:SS 的列拆分为 R 中的两个(日期对象)列 YYYY-MM-DD 和 HH:MM:SS
我需要从具有2012-09-27 07:05:59time
形式的列的 data.frame 中分离时间和日期。然后我必须使用和列来提取特定日期/时间的数据。我该怎么做呢?可能是我想做这个的相反。date
time
我尝试使用strptime
函数和lubridate
包,但无法让它工作。
以下给了我NA
:
我也无法lubridate
成功使用...
我对应该使用哪种日期格式/包感到困惑。
r - Error when executing `floor_date()`
I get the following error message:
when I execute the following code:
The keep$EstimateDate
is a column in a data.table with properly formatted dates.
The floor_date()
is a function in the lubridate
package.
r - 润滑R中的错误
我正在使用以下代码从日期(以 dd/mm/yyyy 形式)给我一周中的哪一天。
编辑:我上传了一个更相关的数据集。
然而,正如 R 报道的那样,18/1 是星期五而不是星期六。
有人对如何纠正这个问题有任何建议吗?
编辑:我试图遵循 Dirk 给出的建议......
...但这仍然意味着 18/1 是星期六。
我的时区是 GMT/UTC(英国夏令时 + 1),但是因为我只想 R 从日期列中读取(这只是 d/m/y),我想我不需要指定这个.. .
如何将正确的 wday 列添加到现有的 R 数据框中?(如之前在我的原始脚本中详述的那样)。我正在努力让建议的编码工作,因为我以错误的格式提供了数据框 - 道歉。
r - R 带有 lubridate 的日期序列
嗨,我正在尝试使用 lubridate 获取一系列日期
这不起作用
基本命令
确实如此,但我想知道是否有一种优雅的方式来使用 lubridate 做到这一点。
编辑
请忽略:解决了自己,所以只留给后代。如有必要,很高兴将其删除。
有诀窍吗
r - R 使用 lubridate 和 data.table 来匹配日期
以下代码失败
与消息
任何人都可以帮助确定我做错了什么。它应该找到数据。