gpt4 book ai didi

r - 将时区添加到 data.table 中的 POSIXct 对象

转载 作者:行者123 更新时间:2023-12-03 20:20:26 24 4
gpt4 key购买 nike

我有一个 data.table 对象,其中的日期和时间列存储为 IDate/ITime 对象。我还有一个时区列,其中时区以字符形式给出。

现在我想创建一个使用 POSIXct 格式的 DateTime 列。但是我不知道如何向对象添加正确的时区。

#Create the data.table object
dtData <- data.table(
Index = seq(1,5),
Time= as.ITime(c('16:00', '16:00', '12:30', '16:00', '15:00')),
Date = as.IDate(rep('2015-05-28', 5)),
TimeZone=c('America/New_York', 'America/New_York', 'Europe/London', 'Asia/Hong_Kong', 'Japan'))

#This gives an error of invalid tz value
dtData[, psxDateTime:=as.POSIXct(Date, time = Time, tz = TimeZone)]

#This seem to set every row to Japan time zone
dtData[, psxDateTime:=as.POSIXct(Date, time = Time, tz = TimeZone), by=Index]
print(dtData$psxDateTime)

有人能指出我正确的方向吗?
谢谢。

编辑:

阅读 David Arenburg 和 akrun 的评论后,似乎无法将具有不同时区的 POSIXct 对象存储在一个 data.table 列中。即使组合向量也会改变时区属性:
Date1 <- as.POSIXct('2015-05-28 16:00', tz='America/New_York')
Date2 <- as.POSIXct('2015-05-28 12:00', tz='Japan')
Date3 <- c(Date1, Date2)
print(Date1)
print(Date2)
print(Date3)

最佳答案

我正在关闭这个问题,因为在 data.table 的一列中似乎不可能有具有不同时区的 POSIXct 对象。

关于r - 将时区添加到 data.table 中的 POSIXct 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30506513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com