问题标签 [posixct]
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 - 在 R 中使用 POSIXlt 向 X 添加一个月的问题 - 需要使用 as.Date(X) 重置值
这在 R 中对我有用:
但这不会:
我收到此错误:
as.Date.POSIXlt(NextH2OMonth) 中的错误:非空 POSIXlt 结构中的零长度分量
任何想法为什么?我需要系统地添加一年(对于一个循环)和一个月(对于另一个循环),并将生成的更改变量与 Date 类的值进行比较,这就是使用 as.Date() 将它们转换回的原因。
谢谢,汤姆
编辑:
下面是整个代码部分。我正在使用 RStudio(版本 0.97.306)。下面的代码表示一个函数,它传递了一个包含两列(日期(CLass=Date)和排放数据(Class=Numeric))的数组,用于计算每月平均值。因此,firstDate 和 lastDate 是类 Date 并由传递的数组。此代码改编自计算年度平均值的成功代码 - 可能还有一两件事我仍然需要更改,但由于我在使用 POSIXlt 时遇到的早期错误,我无法检查后面的部分. 这里是代码:
常规 R 中也会出现同样的错误。当逐行执行时,它不是问题,当它作为脚本运行时,它就是它。
r - POSIXct 数据的意外输出
我有这个df:
我首先使用 lubridate 将“y”因子变量转换为 POSIXct,如下所示:
然后我为计算生成参考数据并继续
我得到了一个奇怪的结果,朱利安天数很高
有些年份运行良好,这是我在不同数据帧中使用的常见程序
任何的想法?
谢谢!!
r - 按每日的特定时间切割 POSIXct
我有兴趣计算时间序列数据集中特定时间段的平均值。
给定这样的时间序列:
在过去,我已经能够计算每日平均值
但现在我正试图将一天分成特定的时间段,我不知道如何设置我的“休息时间”。
与从 0:00:24:00 开始的每日平均值相反,例如,我怎样才能获得中午到中午的平均值?
或者更奇特的是,我如何设置中午到中午的平均值,不包括晚上 7 点到早上 6 点的夜间时间(或者相反,只包括早上 6 点到晚上 7 点的白天时间)。
r - 将日期转换为年月表示
我有一个Date
, 并且有兴趣将它表示为一个整数yyyymm
形式。目前,我这样做:
对于大型数据集,这非常慢。有更快的方法吗?请为您的答案提供时间,以便可以轻松比较它们。使用上面的例子。
r - 按时间对数据帧进行子采样,保持第二个值的顶部
我有一个包含小数秒时间戳的数据框。每秒有不止一行,我想过滤到一行。我想在每秒的顶部或之前提取值。
以下是数据示例:
其中,我想选择第 1 行和第 11 行。
r - 将日期作为整数和时间作为因素组合到 R 中的 POSIXct
我知道这已经被问过好几次了,我查看了问题并遵循了建议。但是,我无法解决这个问题。
datetime.csv 可以在https://www.dropbox.com/s/6bvhk4kei4pg8zq/datetime.csv上找到
我的代码如下所示:
我尝试了 rcs 在将两列日期和时间数据转换为一列中建议的解决方案,但这似乎给出了错误。
非常感谢任何帮助。
谢谢。
r - 准确地从字符->POSIXct->字符转换为亚毫秒日期时间
我在文件中有一个字符日期时间列。我加载文件(到 a 中data.table
)并执行需要将列转换为POSIXct
. 然后我需要将POSIXct
值写回文件,但日期时间不会相同(因为它打印不正确)。
这个打印/格式化问题是众所周知的,并且已经讨论过好几次了。我读过一些描述这个问题的帖子。我找到的最权威的答案是针对这个问题给出的。该问题的答案提供了两个应该解决此问题的函数(myformat.POSIXct
和form
),但它们似乎不适用于此示例:
我的sessionInfo
:
r - 将纪元的秒数转换为本地时间
假设我有几个从 Unix 纪元 (1970-01-01 00:00:00Z) 以整数(秒)形式给出的时间戳。
如何将它们转换为本地时区的正确日期时间?我一直在查看as.POSIXct
帮助页面以及关于 SO 的相关问题。在 UTC 中很容易做到,但由于某种原因,我似乎无法在本地时区或另一个时区直接做到这一点(顺便说一句,我恰好在“America/Los_Angeles”或“PST5PDT”,其中根据白天节省是否在指定时间生效,变为“PST”或“PDT”;所以我通常指定基于位置的时区,而不是“PST”或“PDT”,这很挑剔)。
示例的设置:
perl 中的快速验证:
首先,显而易见的(UTC):
以下是我尝试过但不起作用的事情:
在我的智慧尽头,这给了我正确的结果:
顺便说一句,在我的系统上:
所以看来我的设置和本地时区是正确的。
知道我在上面不起作用的线路上做错了什么吗?
同时,我将使用以下技巧,希望对其他人有用:
r - 修改 POSIXct 对象的时区而不更改显示
我有一个POSIXct
对象,并且想更改它的tz
属性而不用 R 来解释它(解释它意味着更改日期时间在屏幕上的显示方式)。
一些背景:我正在使用fasttime
来自 S.Urbanek 的包,它接受字符串并POSIXct
非常快速地将其转换为。问题是字符串应该代表“GMT”中的日期时间,而我的数据不是这样。
我最终得到一个POSIXct
对象tz=GMT
,实际上它是tz=GMT+1
,如果我改变时区
那么它将被“显示”为GMT+2
(基础价值永远不会改变)。
编辑:这是一个例子
如何在没有 R 的情况下更改此属性来解释它,也就是如何更改 tzone 并仍然将日期时间显示为"2011-01-01 12:32:23.233"
?
编辑/解决方案,@GSee 的解决方案相当快,lubridate::force_tz 非常慢
r - 将 POSIXct 对象强制为 Date 对象
可重现的代码:
从代码中您可以看到,当我尝试将 POSIXct 对象强制为 Date 对象时,每个日期都会返回 1 天。
我想在运行此代码时保留原始日期:我应该在我的代码中修改什么?
这些是我的会话信息: