相关疑难解决方法(0)

循环使用datetime对象会生成数字迭代器

为什么迭代一个Date或一个POSIXct对象导致numeric?例如:

test = as.Date("2009-01-01")
print( class( test ) )
# [1] "Date"
for ( day in test )
{
    print( class( day ) )
}
# [1] "numeric"
Run Code Online (Sandbox Code Playgroud)

同样的事情发生在POSIXct:

test = as.POSIXct("2009-01-01")
print( class( test ) )
# [1] "POSIXct" "POSIXt"
for ( day in test )
{
    print( class( day ) )
}
# [1] "numeric"
Run Code Online (Sandbox Code Playgroud)

attributes for-loop r date

43
推荐指数
5
解决办法
1万
查看次数

如何从 POSIXct 对象获取原点

我有一个像这样的函数:

foo = function(time_in){
    # code here that changes POSIXct to numeric
    time_out = as.POSIXct(time_in, origin = '1970-01-01')
}
Run Code Online (Sandbox Code Playgroud)

用户time_in作为 POSIXct 对象输入的位置。我在线性模型 ( lm()) 中使用此参数,该模型将我的值以数字形式返回。最后,我想将其转换回我的用户的 POSIXct 对象。问题是,as.POSIXct()需要一个origin通常为 UTC 时间 1970 年 1 月 1 日的时间。但是,如果我的用户在不同的来源工作怎么办?我如何提取起源time_in并将其用作 的参数time_out

我已经查找了有关如何获取原点的文档,但是str(time_in)没有attributes(time_in)给我任何东西,而且我还没有找到更多其他内容。由于这将位于一个包中,因此我想坚持使用基本 R 函数来限制所需的依赖项数量。

datetime posix r posixct

6
推荐指数
0
解决办法
1万
查看次数

标签 统计

r ×2

attributes ×1

date ×1

datetime ×1

for-loop ×1

posix ×1

posixct ×1